【问题标题】:Assigning an integer to a register将整数分配给寄存器
【发布时间】:2015-04-11 20:53:20
【问题描述】:

我是 Verilog 的新手,所以在不同基数或类型之间进行转换时遇到问题。更具体地说,我试图将一个整数分配给一个 9 位长的寄存器。该寄存器将表示二进制的有符号整数。我正在尝试做这样的事情。

integer i = -10;
reg [8:0] r;

always @(posedge clk)
  begin
    r <= i;
  end

附:我正在将 Verilog 与 Xilinx ISE v12.4 一起使用

【问题讨论】:

  • 这还能编译吗?
  • 这是错误的,不是因为尝试将负整数分配给寄存器,而是很多其他事情。请修正明显的错误并发布一个完整的模块。
  • 我只想知道如何将整数分配给寄存器,忘记负数。
  • 这不是代码中不好的标志。这是其他的一切。要分配一个值,无论是常量,还是保存在整数或另一个寄存器中,只需分配它。例如,integer i;reg [8:0] r;r &lt;= i;
  • @Pure:你试过按照你提议的方式去做吗?

标签: verilog


【解决方案1】:

整数可以分配给寄存器 - 反之亦然,参考 here。但需要注意不要截断该值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-15
    • 2019-08-26
    • 1970-01-01
    相关资源
    最近更新 更多