我在端口映射中找不到有关使用when...else 语句的任何内容。这似乎是正确的形式,但当我编译时,我看到这样的错误:
错误 (10500):Device.vhd(68) 文本“when”附近的 VHDL 语法错误;期待“)”或“,”
这可能是一个愚蠢的错误,因为我对 vhdl 还很陌生。你能给我一个提示吗?我将非常感谢任何帮助。这是代码,SDA端口是inout类型:
com : I2C_com port map (
reset_en => reset_en,
I2C_clock_port => SCL,
clk => clk,
sda_read_data <= SDA when RD ='1' else 'Z',
sda_write_data => SDA
);
Run Code Online (Sandbox Code Playgroud)