down counter VHDL

Joined
Dec 20, 2007
Messages
2
Reaction score
0
hey guys,

I have to code for the down counter. As u know , the down counter will take the data in put when the load is high( level trigger) and then when the load is low , they start to count down which is control by the "clock" . As i know is the "load" will be level trigger and the clock will be edge trigger.


The thing is , usually my frequency of the load usually less than the clock . For example , if i have the load frequency is 10khz , and suppose my data is 3 bits , then the clock frequency will be 2^3 * 10khz. It help me every (f= 10 khz), i need to take the data and count to 0 .

So the problem i facing is since the load is level trigger , then the counter start to count if the load is logic high----> some edge trigger clock , data wont count dow ---> that is not what i want.. I want it they load the data in and then the next cycle of the clock , they start to count down . ( to make sure that every value data load in , they will count down and reach zero)

Some suggestion is "load" signal , not using the 50% duty cycle, but then if i have 8 bits data , then the clock will be 2^8 times the load , then the load will be very small duty cycle.


So i create the new code , to procuce the signal S1 to act like the load signal. But there is some warning about " Timming analysis is analysing one or more combinational loop as a latch ( which is tmp signal in the below code)"
and " found 3 nodes in clock path at the ripple or gate clock..."

Here is the code : the S: load signal and C is the clock signal


process (S, C) is
begin

if C'event and C = '0' then
S2 <= not S;
end if;
end process;

S1 <= S and S2;
process (S1, C, D)
begin
if S1 = '1' then
tmp <= D;
elsif (C'event and C= '1') then

tmp <= tmp - 1;
end if ;

end process;
Q <= tmp;

end Behavioral;



I use the quartus II software. I am new in VHDL .

Regards
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

Forum statistics

Threads
473,995
Messages
2,570,226
Members
46,816
Latest member
nipsseyhussle

Latest Threads

Top