1位全加器,门结构实现:
module top_module ();
reg clk=0;
always #5 clk = ~clk; // Create clock with period=10
initial `probe_start; // Start the timing diagram
`probe(clk); // Probe signal "clk"
// A testbench
reg ain,bin,cin;
initial begin
ain=0;
bin=0;
cin=0;
#5 ain=1;
bin=1;
#5 ain=0;
bin=0;
#5 ain=1;
cin=1;
#5 bin=1;
#60 $finish; // Quit the simulation
end
full_add add(.ain(ain),.bin(bin),.cin(cin)); // Sub-modules work too.
endmodule
module full_add(input ain,bin,cin,output sum,count);
wire m1,m2,m3;
wire s1;
and (m1,ain,bin),
(m2,ain,cin),
(m3,bin,cin);
xor (sum,ain,bin,cin);
or (count,m1,m2,m3);
`probe(sum);
`probe(ain);
`probe(bin);
`probe(cin);
`probe(count);
endmodule
结果:

1位全加器数据流实现:
module top_module ();
reg clk=0;
always #5 clk = ~clk; // Create clock with period=10
initial `probe_start; // Start the timing diagram
`probe(clk); // Probe signal "clk"
// A testben

本文详细介绍了1位全加器的门级结构实现,通过逻辑门操作实现加法,并与行为级实现进行比较,展示了从电路级到高级抽象的不同实现方式。随后,扩展到4位全加器,分别展示了门级、数据流和行为级的实现,便于理解不同层次的电路设计。
最低0.47元/天 解锁文章
3448

被折叠的 条评论
为什么被折叠?



