如何解决对于 verilog 上的加法器代码,如何将 1'b1 添加到 4 位向量 [3:0]A?
如何将 1'b1 添加到 4 位向量 [3:0]A?例如,如果 A 是 0001,假设 B 是 1'b1,我将两者相加,结果将是 0010。B 始终是 1'b1,我必须不断加到前一个数字上,直到得到 1001,即9 十进制。附上的图片是我到目前为止编写的代码,但是 B 有错误,它不允许我为 B 分配特定值。我基本上是在尝试创建类似 +1 加法器的东西。{{3} }
解决方法
您的代码有一个小问题,即 B
是输入,而您想对其强制一个值,如果您在硬件中考虑它,如果您有输入端口,则不应强制模块内部只有 1 个值,因为如果模块外部的任何刺激试图在 B
上强制一个值,它将被模块内部的值覆盖,在您的情况下为 1'b1
>
解决办法:
删除第 7 行模块内的assign 语句,然后在创建测试平台时,如果您不熟悉 test 的概念,您可以强制 B 的值为 1'b1
,这将为您提供正确的行为长凳只是通知我,我会详细说明这个话题
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。