输入的数据,有没有必要要先赋值给一个定义的reg?
http://cache.amobbs.com/bbs_upload782111/files_50/ourdev_711534BC03AT.png(原文件名:QQ截图20120109130356.png)
8位加法器代码
上面的红色框框内的代码,有跟没有 有区别没?
注意,第一个图片中,绿色的下面代码是我改的,原程序中都是使用shift_op1,shift_op2,而不是op1,op2
也就是要不要把输入的数据先传给一个寄存器?
我把两种代码都分别综合了一下,发现生成的电路模型是一样的。
这代码是从书上抄来的,如果没必要这么做的话,作者为什么要多此一举呢?
http://cache.amobbs.com/bbs_upload782111/files_50/ourdev_711536UEEYFL.png
(原文件名:QQ截图20120109130930.png)
从这两个图来看,作为循环计数,是不是reg和integer都行? 你这个是纯组合逻辑,没有用到时钟,所以不论加不加,最终门级电路都是一样的。 回复【1楼】get500wan
-----------------------------------------------------------------------
用到时钟的话会有所不同么? 1楼说的对。
但是我发现了另外一个问题:shift_op1,shift_op2和op1、op2的宽度可能会不一样。前者是LONGWIDTH,后者是WIDTH。所以,如果两个宽度不一样的信号赋值,可能会存在移位的问题。因此才取名字shift_。我理解并非画蛇添足。
页:
[1]