1、今天,从教材中学了两种可综合的四位计术器的设计方法,先附上代码吧。
(1)、建模:
方法一:
module counter1(out,cout,data,load,cin,clk);
input [3:0]data;
input load,cin,clk;
output cout;
output [3:0]out;
reg [3:0]out;
always @(posedge clk)
if(load)
out<=data;
else
out<=out+cin;
assign cout=&out&cin;
endmodule
方法二:
module counter2(preout,out,cout,data,load,cin,clk);
input [3:0]data;
input load,cin,clk;
output cout;
output [3:0]out,preout;
reg [3:0]out;
reg cout;
reg [3:0]preout;
//preout起到一种监控作用,是我自己添加的。
always @(posedge clk)
begin
out<=preout;
end
always @(out,data,load,cin)
begin
{cout,preo