使用工具:Xilinx ISE 14.7
這個沒什麼好說的就是直接使用運算符“+”將輸入相加所得的結果分配給輸出,代碼如下:
module Design_code(
input [3:0] num_1,
input [3:0] num_2,
output [3:0] out_num,
output CF
);
assign {CF,out_num} = num_1+ num_2;
endmodule
在這裏主要用到的是Verilog的拼接運算符——{信號1,信號2}, 其中信號1是高位置,信號2是低位值
測試代碼:
initial begin
// Initialize Inputs
num_1 = 0; num_2 = 0; #50;
num_1 = 0; num_2 = 1; #50;
num_1 = 0; num_2 = 3; #50;
num_1 = 0; num_2 = 7; #50;
num_1 = 0; num_2 = 15; #50;
num_1 = 1; num_2 = 15; #50;
num_1 = 3; num_2 = 15; #50;
num_1 = 7; num_2 = 15; #50;
num_1 = 15; num_2 = 15; #50;
// Add stimulus here
end
仿真結果:
爲了方便測試,在這裏可以用ISE仿真器提供的數據進制轉換,將原來的二進制轉化成比較直觀的十六進制,操作如下:
結果如下: