Forum Discussion
Altera_Forum
Honored Contributor
14 years agoOk, so you really have two clock domains here; one for the chip generating the pulse, and another for your FPGA.
You have a couple of options; 1) Using the same frequency clock in the FPGA you can generate a toggle signal, eg., lets say 'pulse' is your input, then you can generate a toggle signal by using the pulse as a clock, eg. in VHDL signal toggle : std_logic := '0'; process(pulse) begin if rising_edge(pulse) then toggle <= not toggle; end if; then you would synchronize this togglng signal to the FPGA clock, and delay the synchronized signal one clock more. The xor of the synchronized signal and the delayed by one clock signal will be a one-clock high pulse in the FPGA clock domain. 2) Use an FPGA clock with a period that is shorter than the pulse width. In this case, the pulse will last multiple FPGA clocks, so you do not need the toggle logic, just a synchronizer, a delay, and the xor gate to create the pulse in the local clock domain. Does this make sense? Cheers, Dave