ieee_to_twos_compl.v

来自「IEEE754 floating point sub」· Verilog 代码 · 共 48 行

V
48
字号
/* ------------------------------------------------------------// 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 + =
减小字号Ctrl + -
显示快捷键?