float_fix_front.v

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

V
64
字号
/* ------------------------------------------------------------// MODULE: Float_Fix_Front(no clock , two floating inputs alignment, for SM floating point)// Edition: one// Matlab Code:  None// C Code: None// Architecture Diagram: add_sub_floating.ppt// Date: 2008/01/31
// Update: 2008/01/31	   // ------------------------------------------------------------ */
 
`include "Two_Float_Align.v"
`include "IEEE_to_Twos_compl.v"


module Float_Fix_Front(data_1_in,data_2_in,data_1_sgnfc_out,data_2_sgnfc_out,exp_out);

/* ------------------------------------------------------------// Parameters definition// ------------------------------------------------------------ */

parameter in_data_lng=32,//data_in length
	  in_exp_lng=7,//data_in exponent part length
	  in_sgnfc_lng=25,//data_in significant part length
 	  out_sgnfc_lng=26;//signed extension for sgnfc
/* ------------------------------------------------------------// I/O declaration// ------------------------------------------------------------ */
input [in_data_lng-1:0] data_1_in,data_2_in; //include sgnfc and exp part

output [in_exp_lng-1:0] exp_out; // data_exp out

output [out_sgnfc_lng-1:0] data_1_sgnfc_out,data_2_sgnfc_out;
/* ------------------------------------------------------------// Connection wire declaration// ------------------------------------------------------------ */
wire [in_sgnfc_lng-1:0]data_1_sgnfc_for_op,data_2_sgnfc_for_op;

wire [in_exp_lng-1:0]exp_out;

wire [in_data_lng-1:0]twos_compl_data_1_in,twos_compl_data_2_in;

wire [out_sgnfc_lng-1:0] data_1_sgnfc_out,data_2_sgnfc_out;

wire sign_1,sign_2;
/* ------------------------------------------------------------// Module instance// ------------------------------------------------------------ */


assign sign_1=data_1_in[in_data_lng-1];

assign sign_2=data_2_in[in_data_lng-1];

IEEE_to_Twos_compl #(in_data_lng,in_exp_lng,in_sgnfc_lng) i0
(.data_in(data_1_in),.data_out(twos_compl_data_1_in));

IEEE_to_Twos_compl #(in_data_lng,in_exp_lng,in_sgnfc_lng) i1
(.data_in(data_2_in),.data_out(twos_compl_data_2_in));

Two_Float_Align #(in_data_lng,in_exp_lng,in_sgnfc_lng,out_sgnfc_lng) t0 
(.data_1_in(twos_compl_data_1_in),.data_2_in(twos_compl_data_2_in),.data_1_sgnfc_out(data_1_sgnfc_out),.data_2_sgnfc_out(data_2_sgnfc_out),.exp_out(exp_out));


endmodule

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?