msdarvishi
Full Member level 4
Hello,
I am working on a design that I need to write an expression in VHDL to translate this statement :
"If the rising edge of CLK signal occurred and rising edge of another signal occured..., do something "
I wrote the following code :
I got the following error :
I know that:
Writing in this style means that we must assort a D-FlipFlop being sensitive to two transitions that is not possible in FPGA hardware... But I am wondering there is way to do the statement in VHDL?
Thank in advance for your help
Regards,
I am working on a design that I need to write an expression in VHDL to translate this statement :
"If the rising edge of CLK signal occurred and rising edge of another signal occured..., do something "
I wrote the following code :
Code VHDL - [expand] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 process (clk, locked_sig_s, enable, latched_output, S1, S2, S3) begin if (locked_sig_s = '1' and enable = '1') then if (RISING_EDGE(clk) then if (RISING_EDGE(latched_output)) then S1 <= clk - latched_output_sig; elsif (FALLING_EDGE(latched_output_sig(0))) then S2 <= latched_output_sig - clk; ...
I got the following error :
Code:
ERROR:Xst:827 - "/export/tmp/darvishi/xilinx/BASIC_FPGA_TDC_Design_Me_part_by_part/TDC_Complete_with_Renaud_PLL_with_LFSR_Comparison_New_Technique_Aug_17/observer.vhd" line 94: Signal S2 cannot be synthesized, bad synchronous description. The description style you are using to describe a synchronous element (register, memory, etc.) is not supported in the current software release.
-->
I know that:
Writing in this style means that we must assort a D-FlipFlop being sensitive to two transitions that is not possible in FPGA hardware... But I am wondering there is way to do the statement in VHDL?
Thank in advance for your help
Regards,
Last edited by a moderator: