RHerm1
New Contributor
6 years agoConcatenation operator in a port assignment ?
I'm using Quartus 18.1.1 / Build 646 and have observed a strange behavior with the following VHDL code:
meta_data_ram : altsyncram
generic map (
.......
)
port map (
address_a => md_upper_reg & channel_inreg;
.....
);The issue concerns the port "address_a": With Signal Tap I see the following values:
md_upper_reg = '1' and channel_inreg = "00000"
==> address_a is "000001" instead of "100000" as expected
When I change the code like this...
md_wr_addr <= md_upper_reg & channel_inreg;
meta_data_ram : altsyncram
generic map (
...
)
port map (
address_a => md_wr_addr,
.........everything works fine !!
If the compiler can't handle the concatenation operator in a port assignment I would expect that there is either an error or the signal assignment is done correctly!
Did I miss something or is this a Quartus issue?