Parameters 基于SystemVerilog中的参数分配内部信号

Parameters 基于SystemVerilog中的参数分配内部信号,parameters,verilog,system-verilog,Parameters,Verilog,System Verilog,我对内部连线的参数化断言有问题。 假设有两个SPI硬件,一个嘈杂,一个良好。我需要为两者使用相同的IP核心 在嘈杂的一个我过采样输入清除我可以直接使用输入。 根据我要使用或不使用过阻尼的参数: 基本上这不管用吗 generate if (OVERSAMPLE_SS == 1) begin assign cdc_spi_ss_n = spi_ss_n_s4; end else begin assign cdc_spi_ss_n = spi_ss_n

我对内部连线的参数化断言有问题。 假设有两个SPI硬件,一个嘈杂,一个良好。我需要为两者使用相同的IP核心

在嘈杂的一个我过采样输入清除我可以直接使用输入。 根据我要使用或不使用过阻尼的参数:

基本上这不管用吗

generate 
    if (OVERSAMPLE_SS == 1) begin
        assign cdc_spi_ss_n = spi_ss_n_s4;
    end else begin
        assign cdc_spi_ss_n = spi_ss_n;
    end
endgenerate
我使用的是Quartus Pro 18.1.2


我尝试了if,但没有生成

我发现当你使用

    wire  cdc_spi_ss_n = spi_ss_n;
    wire  cdc_spi_sck  = spi_sck;  
    wire  cdc_spi_mosi = spi_sck;

所以现在我也在做同样的构造工作-我把.sv文件标记为.sv 2009作为设计语言,但quartus仍然无法处理它…

鉴于您最初的问题,这没有任何意义。注意,上面的初始化不同,第二组通常不可合成。变量有不同的类型,在某些情况下可能会有不同的行为。嗨@Serge好的,我在这里稍微放松一下。结果表明,当我将cdc_spi_ss_n声明为逻辑时,它并没有分配它,而是让它像组件边缘上的dnagling端口一样,我只尝试了合成,并查看了RTL视图。当我使用cdc_-spi_-ss_-n电线时,它就像我在问题开始时所期望的那样工作。所以我一开始问错了问题,因为我不知道出了什么问题。什么不起作用?怎样
    logic cdc_spi_ss_n = spi_ss_n;
    logic cdc_spi_sck  = spi_sck;  
    logic cdc_spi_mosi = spi_sck;