对于verilog上的加法器代码,如何仅添加1';b1到4位向量[3:0]a?

对于verilog上的加法器代码,如何仅添加1';b1到4位向量[3:0]a?,verilog,fpga,Verilog,Fpga,如何将1'b1添加到4位向量[3:0]a?例如,如果A是0001,假设B是1'b1,我加上这两个,它将是0010。B总是1'b1,我必须不断地加上前面的数字,直到得到1001,这是十进制的9。附件中的图片是我到目前为止写的代码,但是B有一个错误,它不允许我给B指定一个特定的值。我基本上是在尝试创建类似+1加法器的东西。您的代码有一个小问题,即B是输入的,而您想强制输入一个值,如果您在硬件中考虑它,如果您有一个输入端口,则不应该在模块内部强制为1个值因为如果模块外的任何刺激试图在B上强制一个值,它

如何将1'b1添加到4位向量[3:0]a?例如,如果A是0001,假设B是1'b1,我加上这两个,它将是0010。B总是1'b1,我必须不断地加上前面的数字,直到得到1001,这是十进制的9。附件中的图片是我到目前为止写的代码,但是B有一个错误,它不允许我给B指定一个特定的值。我基本上是在尝试创建类似+1加法器的东西。

您的代码有一个小问题,即
B
是输入的,而您想强制输入一个值,如果您在硬件中考虑它,如果您有一个输入端口,则不应该在模块内部强制为1个值因为如果模块外的任何刺激试图在
B
上强制一个值,它将被模块内的值覆盖,在您的情况下,该值为
1'b1

解决方案: 删除第7行模块内部的assign语句,然后在创建测试台时,您可以强制B的值为
1'b1
,这将为您提供正确的行为,如果您不熟悉测试台的概念,请通知我,我将详细说明此主题