LIU12581 发表于 2021-11-20 11:21:03

付费请教,将Verilog语句转为vhdl语句(if嵌套)?

always@(posedge M_AXIS_CLK or negedge M_AXIS_RSTN)
begin        
   if(M_AXIS_RSTN == 1'b0)                
          tvalid_en <= 1'b0;        
    else if (adc_buf_rd_d0 & ~M_AXIS_tready)           
          tvalid_en <= 1'b1 ;        
   else if (M_AXIS_tready)           
          tvalid_en <= 1'b0;
   end

LIU12581 发表于 2021-11-20 12:06:52

当a,b都是一位时,下面表达式都是等价的吧

Verilog: if(a && ~b)
                if (a & ~b)
Vhdl :      if (a and (not b))='1' then
                if (a='1' and b='0')   then

wye11083 发表于 2021-11-20 13:26:39

为什么要转vhdl?。。只有老工程师才会用vhdl了。

bool表达式尽量和位表达式完全隔开,否则很容易给自己挖坑。通常在if块里不要使用位表达式。此外,verilog代码强烈建议每个子项表达式均使用括号完全限定表达域,以防意外的优先级bug。
页: [1]
查看完整版本: 付费请教,将Verilog语句转为vhdl语句(if嵌套)?