中易网

编写两个4位2进制数相减的Verilog程序

答案:2  悬赏:20  
解决时间 2021-01-14 04:38
  • 提问者网友:树红树绿
  • 2021-01-13 20:52
编写两个4位2进制数相减的Verilog程序
最佳答案
  • 二级知识专家网友:迷人又混蛋
  • 2021-01-13 21:49
使用4个单bit的减法级联,组成4bit的减法,供参考。

//单bit减法
module a_sub_b_1bit (a, b, c, s, sc)
input a, b, c;//C为上个减法的借位。
outputreg s, sc;//sc为当前的借位
always@(*)
begin
s = a^b^c;
if (a)
sc = b&c;
else
sc = b|c;
end
endmodule

///主程序
module a_sub_b_4bit (a, b, c, s, sc)
input [3:0] a, b;
input c;//C为上个减法的借位。
outputreg [3:0] s;
outputsc;//sc为当前的借位
wire[3:0] sc_t;
assignsc = sc_t[3];
a_sub_b_1bita_sub_b_1bit_0u (.a(a[0], .b(b[0], .c(c),.s(s[0]), .sc(sc[0]));
a_sub_b_1bita_sub_b_1bit_1u (.a(a[1], .b(b[1], .c(sc_t[0]),.s(s[1]), .sc(sc[1]));
a_sub_b_1bita_sub_b_1bit_2u (.a(a[2], .b(b[2], .c(sc_t[1]),.s(s[2]), .sc(sc[2]));
a_sub_b_1bita_sub_b_1bit_3u (.a(a[3], .b(b[3], .c(sc_t[2]),.s(s[3]), .sc(sc[3]));
endmodule
全部回答
  • 1楼网友:骨子里都是戏
  • 2021-01-13 23:11
1.触发器的Verilog实现
时序电路是高速电路的主要应用类型,其特点是任意时刻电路产生的稳定输出不仅与当前的输入有关,而且还与电路过去时刻的输入有关。时序电路的基本单元就是触发器。下面介绍几种常见同步触发器的Verilog实现。
同步RS触发器
RS触发器分为同步触发器和异步触发器,二者的区别在于同步触发器有一个时钟端clk,只有在时钟端的信号上升(正触发)或下降(负触发)时,触发器的输出才会发生变化。下面以正触发为例,给出其Verilog代码实现。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息