在quartus中如何合成阻塞分配?还是一般而言?寄存器如何合成?

时间:2019-05-02 11:18:43

标签: verilog quartus synthesis

我总是被封锁。 在always块中,有一个块分配,其中要分配的值由函数获取。

变量定义为reg [7:0] num

我知道该代码无法合成,并且认为它确实需要寄存器。所以也许我的问题是寄存器是如何合成的?

always @(posedge Clock) begin
  //other code that I believe doesn't matter
  if(enable)
    num = get_number(type, arg1);
end

function [7:0] get_number;
  input [1:0] type;
  input [7:0] arg;
  begin
    case (arg_type)
      REG: get_number = Reg[arg[5:0]];// contents of register b
      IND: get_number = Reg[ Reg[arg[5:0]][5:0] ];//contents of register c, c= contents of register b.
      default: get_number = arg;//if arg type is just num.
    endcase
  end
endfunction

0 个答案:

没有答案