📄 ieee_to_twos_compl.v
字号:
/* ------------------------------------------------------------// MODULE: IEEE_to_Twos_compl (no clock )// Edition: one// Matlab Code: None// C Code: None// Architecture Diagram: None// Date: 2008/01/30
// Update: 2008/01/30 // ------------------------------------------------------------ */
module IEEE_to_Twos_compl(data_in,data_out);
/* ------------------------------------------------------------// Parameters definition// ------------------------------------------------------------ */
parameter data_lng=32,//data_in length
exp_lng=7,//data_in exponent part length
sgnfc_lng=25;//data_in significant part length
/* ------------------------------------------------------------// I/O declaration// ------------------------------------------------------------ */
input [data_lng-1:0]data_in; //include sgnfc and exp part
output [data_lng-1:0]data_out; // data_out
/* ------------------------------------------------------------// Connection wire declaration// ------------------------------------------------------------ */
wire sign;
wire [sgnfc_lng-1:0]compl_data_sgnfc,data_sgnfc;
wire [sgnfc_lng-1:0]real_data_sgnfc;
wire [data_lng-1:0]twos_compl_data_in;
/* ------------------------------------------------------------// Module instance// ------------------------------------------------------------ */
assign sign=data_in[data_lng-1];
assign data_sgnfc=data_in[data_lng-1:exp_lng];
assign compl_data_sgnfc={sign,(~data_sgnfc[sgnfc_lng-2:0]+1'b1)};
assign real_data_sgnfc=(sign)?compl_data_sgnfc:data_sgnfc;
assign data_out={real_data_sgnfc,data_in[exp_lng-1:0]};
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -