我的大学课程中有这个verilog代码,它实现了一个基本的乘数。
//this is a portion of the code.
reg [16:0] multiplicand_copy;
input [7:0] multiplicand;
multiplicand_copy = {9'd0, multiplicand}; // this line is my question
在代码中的某处,使用括号进行此分配,我无法理解。这是什么类型的分配以及此行中发生了什么?我感谢任何帮助。
答案 0 :(得分:2)
reg [16:0] multiplicand_copy;
input [7:0] multiplicand;
multiplicand_copy = {9'd0, multiplicand};
在此代码段中,multiplicand
为8位变量,multiplicand_copy
为17位变量。
multiplicand_copy = {9'd0, multiplicand};
将连接9个0和8位multiplicand
,并分配17位multiplicand_copy
。