Vhdl Verilog范围必须由常量表达式限定
我很难理解如何将这个VHDL代码翻译成VerilogVhdl Verilog范围必须由常量表达式限定,vhdl,verilog,Vhdl,Verilog,我很难理解如何将这个VHDL代码翻译成Verilog v_Upper := r_Digit_Index*4 + 3; v_Lower := r_Digit_Index*4; v_BCD_Digit := unsigned(r_BCD(v_Upper downto v_Lower)); if v_BCD_Digit > 4 then v_BCD_Digit := v_BCD_Digit + 3; end if; r_BCD(v_Upper downto v_Lower
v_Upper := r_Digit_Index*4 + 3;
v_Lower := r_Digit_Index*4;
v_BCD_Digit := unsigned(r_BCD(v_Upper downto v_Lower));
if v_BCD_Digit > 4 then
v_BCD_Digit := v_BCD_Digit + 3;
end if;
r_BCD(v_Upper downto v_Lower) <= std_logic_vector(v_BCD_Digit);
v_上限:=r_位索引*4+3;
v_Lower:=r_数字索引*4;
v_BCD_位:=无符号(r_BCD(v_上下到v_下));
如果v_BCD_数字>4,则
v_BCD_位:=v_BCD_位+3;
如果结束;
r_BCD(v_Upper down到v_Lower)在verilog中,您不能有这样的变量选择
不允许使用ier\u BCD[r\u数字索引*4+3:r\u数字索引*4]
自2001年以来,您可以使用特殊的+:
语法进行可变部分选择
例如:
r_BCD[r_Digit_Index*4 +: 4]
//[ index +: width]
有关更多信息,请参阅
r_BCD[r_Digit_Index*4 +: 4]
//[ index +: width]