📄 addsub_16_0.v
字号:
`timescale 1 ps / 1 ps
module ADDSUB_16_0(
add_sub,
dataa,
datab,
result);
parameter word_in_size = 16;
input add_sub;
input [word_in_size-1:0] dataa;
input [word_in_size-1:0] datab;
output [word_in_size-1:0] result;
wire [word_in_size-1:0] tmp;
wire [word_in_size:0] da,db;
wire [word_in_size:0] rt;
assign da[word_in_size-1:0] = dataa;
assign da[word_in_size] = dataa[word_in_size-1];
assign db[word_in_size-1:0] = datab;
assign db[word_in_size] = datab[word_in_size-1];
assign tmp = rt[word_in_size]?16'b1000000000000000:16'b0111111111111111;
assign result = rt[word_in_size]^rt[word_in_size-1]?tmp:rt[word_in_size-1:0];
ADDSUB addsub(
.add_sub(add_sub),
.dataa(da),
.datab(db),
.result(rt));
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -