我有一行我上网的verilog代码,我不明白它是什么意思。
rom_data <= #`DEL {rom[rom_addr+3],rom[rom_addr+2],rom[rom_addr+1],rom[rom_addr]};
有人可以帮我揭穿这个吗?
分解它:
1 rom_data <=
2 #`DEL
3 {rom[rom_addr+3], rom[rom_addr+2], rom[rom_addr+1], rom[rom_addr]};
对 rom_data 的非阻塞赋值,可能在内部always@(posedge clk)
用于暗示触发器
延迟设置如下:
`定义DEL“1ms”
1ms 或其他值粘贴在您有 `DEL.
{}
意味着串联,它采用 rom[rom_addr] 和接下来的 3 个值。
即 {2'b00, 2'b01, 2'b10, 2'b11} => 8'b00_01_10_11
总之,你已经rom_addr
指向一个特定的位置。当 rom_data 更改时,您将获取接下来的 4 个值,从rom_addr
torom_addr + 3
并rom_data
在延迟 `DEL.