1位全加器是由2个1位半加器和1个或门构成的。
如果你已经有1位半加器的描述文件了(vhd),那么就在1位全加器的描述中,用2个元件例化语句描述2个半加器,然后用1个信号赋值语句描述1个或门就行了。
这么菜,这都不会。
moudle adder ( a, b, s, c, ca );
input [3:0] a;
input [3:0] b;
output [3:0] s;
input c;
output ca;
里面还要写个F_adder的module,再把几个F_adder的input output接起来就好了,懒得写了。你自己发挥吧。
ADDER 是编译器内置的吧,因为你用了加法器所以会自动的综合到ADDER。如果你自己把全加器用门级电路来写,可能最后综合出来就是门级电路了。
比如全加器这么写
s= a^b^cin;
cout= (a&b)|(a&cin)|(b&cin);
然后4位全加器用器件调用级连就好了。可能可以,没试过,试试吧
新建一个文件把两个模块例话一下,例如:
input clk;
input clr;
input [7:0] a;
input [7:0] b;
output [7:0] qout;
output cout;
wire [7:0] sum;
ADD MODULE1(a(a), b(b), sum(sum), cout(cout));
reg8 MODULE2(data_in(sum), qout(qout), clk(clk), clr(clr));
以上就是关于写出一个半加器的verilog代码,然后写出调用此半加器而构成一位全加器的verilo全部的内容,包括:写出一个半加器的verilog代码,然后写出调用此半加器而构成一位全加器的verilo、verilog 全加器问题,求大神、Verilog综合的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)