首页 > 试题广场 >

下面代码中可综合成电路是

[单选题]
下面代码中可综合成电路是

  • always @(posedge clk or negedge clk) begin

    if(rst)

    data_out <= 1’d0;

    else

    data_out<= data_in;

    end
  • generate

    genvar i;

    for(i=0;i<8;i=i+1)

    begin:shifter

    always@(posedge clk)

    shifter[i]<=(i==0)?din:shifter[i-1];

    end

    endgenerate
  • time abc;

    always@(posedge clk)

    if(rst)

    abc <= 0;

    else

    abc <= data_in;
  • fork

    data1 = 3’d3;

    data2 = 3’d1;

    join
A根本不可能综合成电路,我用编译器试了,会报错,具体错误是
  • [Synth 8-91] ambiguous clock in event control 
发表于 2020-08-19 09:26:35 回复(4)
敏感列表里同时带有posedge和negedge
如:always @(posedge clk or negedge clk) begin...end
这个always块不可综合。
发表于 2020-08-22 22:02:53 回复(0)
选项A中,在always中包含时钟上升沿和时钟下降沿的条件时,不能综合成电路呀
发表于 2020-08-26 11:44:13 回复(1)
FPGA中没有双沿都能触发的器件,A 只能仿真并不能综合成实际电路。
发表于 2021-06-27 20:53:34 回复(0)
对,a不能,是不是systemVerilog可以?
发表于 2022-02-24 11:16:06 回复(1)