Altera_Forum
Honored Contributor
17 years agostate machine design little help
I completed a cyclic code in verilog and is working (finally) as expected. But I had to switch to MAXII since code become quite large, especially when I complete a case statement with all constants required :)
Now I think to re-design a little bit: I need 1 shot executable set of events, triggered externally (say START pin). After events completed, it would be nice system to re-enter automatically in IDLE state so I can trigger more. Of course, after first trigger, next will be ignored until complete. If glue-logic, I'd use a S-R latch but as far as I read it's not a good idea. So I begun something in verilog and I need little helpalways @(posedge start)
begin
go = 1;
end
always @(posedge ck)
begin
if(go && ~reset)
begin
cnt = cnt+1;
if(cnt==20) event=1;
if(cnt==30)
begin
event=0;
reset=1; // one time
end
end
end My code is executed only once because I cannot reset 'go' variable after event completed (sync on ck). Any idea appreciated.