verilog 一个assign的简单问题在4位超前进位加法器的程序里面,有这么一段句子assign c[0] = (p[0] & ci) | g[0];assign c[1] = (p[1] & c[0]) | g[1];assign c[2] = (p[2] & c[1]) | g[2];这几个assign不是并行执行的吗?那第

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/29 05:09:23
verilog 一个assign的简单问题在4位超前进位加法器的程序里面,有这么一段句子assign c[0] = (p[0] & ci) | g[0];assign c[1] = (p[1] & c[0]) | g[1];assign c[2] = (p[2] & c[1]) | g[2];这几个assign不是并行执行的吗?那第
xN@_+T$ i  (RE#"uՅ[""&0NLwAs3o&|Ϝ'S~|!@#fmG_v#Ow<>2&5z@L-^5@=2an:QS*[o^n(\R'%JT DR?!IK$ u, { 9/ k^]\dI1 zxJ=/);-dj[xw 1V5TQc&QCG3ؾd#*hyQD\{L9VZ3Zf~%xYd.x76@W4[C0oDl`314'a($lSPwT|'">rxo 5P%N^: F[s WBEǏ%;;ETHƱԌݱ y$^WCS,lng<2`

verilog 一个assign的简单问题在4位超前进位加法器的程序里面,有这么一段句子assign c[0] = (p[0] & ci) | g[0];assign c[1] = (p[1] & c[0]) | g[1];assign c[2] = (p[2] & c[1]) | g[2];这几个assign不是并行执行的吗?那第
verilog 一个assign的简单问题
在4位超前进位加法器的程序里面,有这么一段句子
assign c[0] = (p[0] & ci) | g[0];
assign c[1] = (p[1] & c[0]) | g[1];
assign c[2] = (p[2] & c[1]) | g[2];
这几个assign不是并行执行的吗?那第二,第三个式子中用到了c[0],c[1]不都是按顺序前面执行过的结果再运算吗?这个地方不太懂.
如果换成

verilog 一个assign的简单问题在4位超前进位加法器的程序里面,有这么一段句子assign c[0] = (p[0] & ci) | g[0];assign c[1] = (p[1] & c[0]) | g[1];assign c[2] = (p[2] & c[1]) | g[2];这几个assign不是并行执行的吗?那第
都是并行的没有错,但是assign是阻塞赋值,“阻塞”即是在当前的赋值完成之前阻塞其他赋值任务,当然有延时语句除外.所以c[0]先赋值,c[0]的值发生变化,激励c[1]变化,c[1]变化触发c[2]变化,所以结果就跟顺序执行的结果一样.
如果换成