Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

One-Shot Pulse Generator

Status
Not open for further replies.

jvet4

Technical User
Jul 24, 2000
54
0
0
US
I am looking for a way to create a one-shot pulse that is generated based on an external input. I want to be able to use an external voltage supply and input pin to generate the pulse, however I need a way to slow down the response of the pulse generator. I am currently using the debounce circuit in the Language Templates section of Xilinx ISE which is a string of 3 FFs whose outputs are anded together. The problem is this circuit is very fast and when I touch the voltage supply to the input, no matter how quickly I remove it, I generate a series of pulses.

Is there a way to make a pulse that is dependant on an external input that only generates 1 pulse at a time?
 
Hi!
Are you trying to model one shot for the circuit?
Try this:

wait until Clock = '1';
A_Next_Delta <= A;
Synch_Leading_Edge_A <= A and (not A_Next_Delta);

rgds,
crystal
 
How fast is your clock? Even with three FF's you could be reacting to the input in a matter of nanoseconds.

You can use a large counter to generate a clock-enable signal to sample the input at a much lower rate. The rate you need will depend upon your application. If you are physically touching wires together by hand to trigger the one-shot, you could use a sample rate around 100ms without the delay causing you to wait.

If you want to get a bit more sophisticated, create a state machine to react fast on the first trigger, but won't allow a second trigger until the input has been deasserted for a long period of time.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top