📄 mult_add.v
字号:
// megafunction wizard: %ALTMULT_ADD%// GENERATION: STANDARD// VERSION: WM1.0// MODULE: ALTMULT_ADD // ============================================================// File Name: mult_add.v// Megafunction Name(s):// ALTMULT_ADD// ============================================================// ************************************************************// THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE!//// 5.0 Build 148 04/26/2005 SJ Full Version// ************************************************************//Copyright (C) 1991-2005 Altera Corporation//Your use of Altera Corporation's design tools, logic functions //and other software and tools, and its AMPP partner logic //functions, and any output files any of the foregoing //(including device programming or simulation files), and any //associated documentation or information are expressly subject //to the terms and conditions of the Altera Program License //Subscription Agreement, Altera MegaCore Function License //Agreement, or other applicable license agreement, including, //without limitation, that your use is for the sole purpose of //programming logic devices manufactured by Altera and sold by //Altera or its authorized distributors. Please refer to the //applicable agreement for further details.// synopsys translate_off`timescale 1 ps / 1 ps// synopsys translate_onmodule mult_add ( clock0, dataa_0, dataa_1, datab_0, addnsub1, datab_1, result); parameter data_width = 16; parameter twiddle_width = 16; input clock0; input [data_width-1:0] dataa_0; input [data_width-1:0] dataa_1; input [twiddle_width-1:0] datab_0; input addnsub1; input [twiddle_width-1:0] datab_1; output [data_width + twiddle_width:0] result; wire [data_width + twiddle_width:0] sub_wire0; wire [twiddle_width-1:0] sub_wire6 = datab_1[twiddle_width-1:0]; wire [data_width-1:0] sub_wire3 = dataa_1[data_width-1:0]; wire [data_width + twiddle_width:0] result = sub_wire0[data_width + twiddle_width:0]; wire [data_width-1:0] sub_wire1 = dataa_0[data_width-1:0]; wire [data_width + twiddle_width-1:0] sub_wire2 = {sub_wire3, sub_wire1}; wire [twiddle_width-1:0] sub_wire4 = datab_0[twiddle_width-1:0]; wire [data_width + twiddle_width-1:0] sub_wire5 = {sub_wire6, sub_wire4}; altmult_add ALTMULT_ADD_component ( .dataa (sub_wire2), .datab (sub_wire5), .clock0 (clock0), .addnsub1 (addnsub1), .result (sub_wire0), .aclr0 (1'b0), .aclr1 (1'b0), .aclr2 (1'b0), .aclr3 (1'b0), .addnsub1_round (1'b0), .addnsub3 (1'b1), .addnsub3_round (1'b0), .clock1 (1'b1), .clock2 (1'b1), .clock3 (1'b1), .ena0 (1'b1), .ena1 (1'b1), .ena2 (1'b1), .ena3 (1'b1), .mult01_round (1'b0), .mult01_saturation (1'b0), .mult0_is_saturated (), .mult1_is_saturated (), .mult23_round (1'b0), .mult23_saturation (1'b0), .mult2_is_saturated (), .mult3_is_saturated (), .scanina (16'b0), .scaninb (16'b0), .scanouta (), .scanoutb (), .signa (1'b0), .signb (1'b0), .sourcea (2'b0), .sourceb (2'b0)); defparam ALTMULT_ADD_component.input_register_a1 = "CLOCK0", ALTMULT_ADD_component.multiplier_register0 = "CLOCK0", ALTMULT_ADD_component.signed_pipeline_aclr_b = "UNUSED", ALTMULT_ADD_component.multiplier_register1 = "CLOCK0", ALTMULT_ADD_component.addnsub_multiplier_pipeline_aclr1 = "UNUSED", ALTMULT_ADD_component.signed_aclr_a = "UNUSED", ALTMULT_ADD_component.signed_register_a = "CLOCK0", ALTMULT_ADD_component.number_of_multipliers = 2, ALTMULT_ADD_component.multiplier_aclr0 = "UNUSED", ALTMULT_ADD_component.signed_aclr_b = "UNUSED", ALTMULT_ADD_component.signed_register_b = "CLOCK0", ALTMULT_ADD_component.lpm_type = "altmult_add", ALTMULT_ADD_component.multiplier_aclr1 = "UNUSED", ALTMULT_ADD_component.input_aclr_b0 = "UNUSED", ALTMULT_ADD_component.output_register = "CLOCK0", ALTMULT_ADD_component.width_result = data_width + data_width + 1, ALTMULT_ADD_component.representation_a = "SIGNED", ALTMULT_ADD_component.signed_pipeline_register_a = "CLOCK0", ALTMULT_ADD_component.input_source_b0 = "DATAB", ALTMULT_ADD_component.input_aclr_b1 = "UNUSED", ALTMULT_ADD_component.input_aclr_a0 = "UNUSED", ALTMULT_ADD_component.addnsub_multiplier_register1 = "CLOCK0", ALTMULT_ADD_component.representation_b = "SIGNED", ALTMULT_ADD_component.signed_pipeline_register_b = "CLOCK0", ALTMULT_ADD_component.input_source_b1 = "DATAB", ALTMULT_ADD_component.input_source_a0 = "DATAA", ALTMULT_ADD_component.input_aclr_a1 = "UNUSED", ALTMULT_ADD_component.dedicated_multiplier_circuitry = "YES", ALTMULT_ADD_component.input_source_a1 = "DATAA", ALTMULT_ADD_component.addnsub_multiplier_aclr1 = "UNUSED", ALTMULT_ADD_component.output_aclr = "UNUSED", ALTMULT_ADD_component.port_addnsub1 = "PORT_USED", ALTMULT_ADD_component.port_signa = "PORT_UNUSED", ALTMULT_ADD_component.port_signb = "PORT_UNUSED", ALTMULT_ADD_component.intended_device_family = "Stratix II", ALTMULT_ADD_component.addnsub_multiplier_pipeline_register1 = "CLOCK0", ALTMULT_ADD_component.width_a = data_width, ALTMULT_ADD_component.input_register_b0 = "CLOCK0", ALTMULT_ADD_component.width_b = twiddle_width, ALTMULT_ADD_component.input_register_b1 = "CLOCK0", ALTMULT_ADD_component.input_register_a0 = "CLOCK0", ALTMULT_ADD_component.signed_pipeline_aclr_a = "UNUSED";endmodule// ============================================================// CNX file retrieval info// ============================================================// Retrieval info: PRIVATE: Q_CLK_SRC_MULT0 NUMERIC "0"// Retrieval info: PRIVATE: SRCA0 STRING "Multiplier input"// Retrieval info: PRIVATE: ADDER1_ROUND_PIPE_REG STRING "1"// Retrieval info: PRIVATE: ADDNSUB3_REG STRING "1"// Retrieval info: PRIVATE: SIGNA_PIPE_REG STRING "1"// Retrieval info: PRIVATE: SIGNA STRING "Signed"// Retrieval info: PRIVATE: RQFORMAT STRING "Q1.15"// Retrieval info: PRIVATE: MULT_REGOUT0 NUMERIC "1"// Retrieval info: PRIVATE: ADDER3_ROUND_REG STRING "1"// Retrieval info: PRIVATE: MULT01_SAT_PIPE_CLK_SRC NUMERIC "0"// Retrieval info: PRIVATE: MULT1_SAT_OVERFLOW_OUT NUMERIC "0"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -