作者evilmagic (好喜欢虎小妹妹)
看板Programming
标题Re: [问题] Verilog中 always语法的问题
时间Thu Oct 30 20:48:38 2008
sensitivity list 没写全
always@(f or s4 or s3 or s5)
= 右边的变数都要列上去
因为上次那种写法很笨
建议直接用 verilog 2001 语法
always@*
或是
always@(*)
直接用 assign 也行
不过下面的写法有四个加法,合出来的电路可能会比较大,移动一下 mux
调整一下 data path 加法就可以减少
assign t1 = (f[25])? s3 : s4;
assign t2 = (f[25])? a5 : s3;
assign output = f + t1 + t2;
这样只要二个加法器
※ 引述《jalamorm (加拉摩)》之铭言:
: 我不知道问题在哪,
: 但是为了防止有 latch 产生,
: 建议把 if-else statement 改成完整的写法。
: always @(f)
: begin
: if (f[25] == 1'b0)
: output = f + s4 + s3;
: else
: output = f + s3 + s5;
: end
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.133.3.118