我假設在串聯的最左側放置一個未基礎的未定義字面量時,將只填寫給定值的任何缺失位。我沒有在LRM中看到任何明確的說明。SystemVerilog:串聯中未基於未定義的字面量
logic [63:0] rd_data;
logic [31:0] mem_dout;
logic [15:0] op_data;
....
assign rd_data = {'0, op_data, mem_dout};
顯然,下面將非法:
編輯:@ dave_59指出,這是合法的,只是不直觀。
assign rd_data = {op_data, mem_dout, '0};
只是想檢查,如果每個人都知道(1)本模擬如預期,和(2)的主要綜合工具做正確的事情,高16位配合0
嘗試使用'assign rd_data = {'1,op_data,mem_dout};' – toolic