作者yaote ()
看板Electronics
标题Re: [问题] verilog语法问题
时间Wed Jan 30 00:52:14 2008
※ 引述《yaote ()》之铭言:
: 小弟最近写verilog遇到一些问题
: reg input
: always@(posedge Clk or negedge nReset)
: begin
: if(State ==2 )
: input <= 1;
: end
: 照理来说,这边的input将会在下一个Clk cycle才会赋值,并不会在当下给值,
: 因为他宣告为reg,我要怎麽用才会进去那个state马上给值呢?
感恩,接下来有各问题,如果我把他改写成
always@(posedge Clk or negedge nReset)
begin
if(State == 2)
begin
if(enable) input<=1;
else input<=0;
if(counter == 10)
State <= 3;
end
end
如果我把他在加个counter回圈和enable,counter没满就继续在State2然後如果看
enable=1就input=1,可是这样写也如同上面会再下一个clock cycle给值,如果按
照之前大大所写的再下面做一个always@(State)这样会马上赋值,可是他在State改
变的时候才会重新给input值,我counter没满State维持不变,这样input也不会跟
着改变,然後我又不想多一个State来判断enable,该怎麽办?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 152.78.254.5
※ 编辑: yaote 来自: 152.78.254.5 (01/30 00:52)
1F:→ bakerly:把input 和enable 加到你的sensitivily list里去 01/30 10:28
2F:→ bakerly:写.错...input 不用於进去 01/30 10:31