📄 mult_mk01.tdf
字号:
--lpm_mult CBX_DECLARE_ALL_CONNECTED_PORTS="OFF" DEDICATED_MULTIPLIER_CIRCUITRY="AUTO" DEVICE_FAMILY="Cyclone" DSP_BLOCK_BALANCING="Auto" INPUT_A_IS_CONSTANT="NO" INPUT_B_IS_CONSTANT="NO" LPM_REPRESENTATION="UNSIGNED" LPM_WIDTHA=6 LPM_WIDTHB=8 LPM_WIDTHP=14 LPM_WIDTHS=1 MAXIMIZE_SPEED=5 dataa datab result CARRY_CHAIN="MANUAL" CARRY_CHAIN_LENGTH=48
--VERSION_BEGIN 7.2 cbx_cycloneii 2007:06:13:15:47:32:SJ cbx_lpm_add_sub 2007:08:06:16:01:34:SJ cbx_lpm_mult 2007:07:20:16:47:26:SJ cbx_mgl 2007:08:03:15:48:12:SJ cbx_padd 2007:07:12:14:48:24:SJ cbx_stratix 2007:05:02:16:27:14:SJ cbx_stratixii 2007:06:28:17:26:26:SJ cbx_util_mgl 2007:06:01:06:37:30:SJ VERSION_END
-- Copyright (C) 1991-2007 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 from 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.
FUNCTION carry_sum (cin, sin)
RETURNS ( cout, sout);
FUNCTION lcell (in)
RETURNS ( out);
FUNCTION soft (in)
RETURNS ( out);
--synthesis_resources = lut 91
SUBDESIGN mult_mk01
(
dataa[5..0] : input;
datab[7..0] : input;
result[13..0] : output;
)
VARIABLE
add11_result[13..0] : WIRE;
add15_result[9..0] : WIRE;
add19_result[2..0] : WIRE;
add7_result[16..0] : WIRE;
cs1a[3..0] : carry_sum;
cs2a[3..0] : carry_sum;
le3a[9..0] : lcell;
le4a[9..0] : lcell;
le5a[9..0] : lcell;
le6a[8..0] : lcell;
sft10a[16..0] : soft;
sft12a[13..0] : soft;
sft13a[13..0] : soft;
sft14a[13..0] : soft;
sft16a[9..0] : soft;
sft17a[9..0] : soft;
sft18a[9..0] : soft;
sft20a[2..0] : soft;
sft21a[2..0] : soft;
sft22a[2..0] : soft;
sft8a[16..0] : soft;
sft9a[16..0] : soft;
dataa_node[7..0] : WIRE;
datab_node[5..0] : WIRE;
final_result_node[13..0] : WIRE;
w105w : WIRE;
w126w : WIRE;
w128w[9..0] : WIRE;
w129w[9..0] : WIRE;
w130w[9..0] : WIRE;
w143w[9..0] : WIRE;
w144w[9..0] : WIRE;
w173w : WIRE;
w175w : WIRE;
w176w[9..0] : WIRE;
w177w[9..0] : WIRE;
w178w[9..0] : WIRE;
w195w : WIRE;
w197w : WIRE;
w199w : WIRE;
w201w : WIRE;
w203w : WIRE;
w205w : WIRE;
w212w[8..0] : WIRE;
w214w[8..0] : WIRE;
w226w : WIRE;
w228w : WIRE;
w230w : WIRE;
w232w : WIRE;
w234w : WIRE;
w236w : WIRE;
w238w : WIRE;
w241w : WIRE;
w242w : WIRE;
w243w : WIRE;
w244w : WIRE;
w245w : WIRE;
w249w : WIRE;
w250w : WIRE;
w251w : WIRE;
w252w : WIRE;
w253w : WIRE;
w254w : WIRE;
w255w : WIRE;
w256w : WIRE;
w257w : WIRE;
w260w : WIRE;
w387w[16..0] : WIRE;
w73w[9..0] : WIRE;
w74w[9..0] : WIRE;
w75w[9..0] : WIRE;
w7w[7..0] : WIRE;
w88w[9..0] : WIRE;
w89w[9..0] : WIRE;
BEGIN
add11_result[] = sft12a[].out + sft13a[].out;
add15_result[] = sft16a[].out + sft17a[].out;
add19_result[] = sft20a[].out + sft21a[].out;
add7_result[] = sft8a[].out + sft9a[].out;
cs1a[].cin = ( ((w7w[6..6] & cs1a[2].cout) # w7w[7..7]), (cs1a[1].cout & w7w[4..4]), ((w7w[2..2] & cs1a[0].cout) # w7w[3..3]), w7w[1..1]);
cs1a[].sin = ( ((((((! w7w[7..7]) & w7w[6..6]) & cs1a[2].cout) # ((w7w[7..7] & w7w[6..6]) & (! cs1a[2].cout))) # ((w7w[7..7] & (! w7w[6..6])) & cs1a[2].cout)) # ((w7w[7..7] & (! w7w[6..6])) & (! cs1a[2].cout))), (cs1a[1].cout & w7w[4..4]), ((((((! w7w[3..3]) & w7w[2..2]) & cs1a[0].cout) # ((w7w[3..3] & w7w[2..2]) & (! cs1a[0].cout))) # ((w7w[3..3] & (! w7w[2..2])) & cs1a[0].cout)) # ((w7w[3..3] & (! w7w[2..2])) & (! cs1a[0].cout))), w7w[1..1]);
cs2a[].cin = ( ((w7w[6..6] & cs2a[2].cout) # w7w[7..7]), (cs2a[1].cout $ w7w[4..4]), ((w7w[2..2] & cs2a[0].cout) # w7w[3..3]), w7w[1..1]);
cs2a[].sin = ( ((((((! w7w[7..7]) & (! w7w[6..6])) & cs2a[2].cout) # (((! w7w[7..7]) & w7w[6..6]) & (! cs2a[2].cout))) # ((w7w[7..7] & w7w[6..6]) & (! cs2a[2].cout))) # ((w7w[7..7] & (! w7w[6..6])) & cs2a[2].cout)), (cs2a[1].cout $ w7w[4..4]), ((((((! w7w[3..3]) & (! w7w[2..2])) & cs2a[0].cout) # (((! w7w[3..3]) & w7w[2..2]) & (! cs2a[0].cout))) # ((w7w[3..3] & w7w[2..2]) & (! cs2a[0].cout))) # ((w7w[3..3] & (! w7w[2..2])) & cs2a[0].cout)), w7w[0..0]);
le3a[].in = (! ((! w88w[]) & (! w89w[])));
le4a[].in = (! ((! w143w[]) & (! w144w[])));
le5a[].in = ((cs1a[2].sout & w177w[]) # (cs2a[2].sout & w178w[]));
le6a[].in = (w7w[5..5] & w214w[]);
sft10a[].in = add7_result[];
sft12a[].in = ( w260w, ( w241w, ( w212w[8..8], ( w212w[7..7], ( w212w[6..6], ( w212w[5..5], ( w212w[4..4], ( w212w[3..3], ( w212w[2..2], ( w212w[1..1], ( w212w[0..0], ( w128w[2..2], ( w73w[3..2])))))))))))));
sft13a[].in = ( w260w, ( w260w, ( w176w[9..9], ( w176w[8..8], ( w176w[7..7], ( w250w, ( w242w, ( w176w[4..4], ( w176w[3..3], ( w176w[2..2], ( w176w[1..1], ( w73w[4..4], ( w260w, w173w)))))))))))));
sft14a[].in = add11_result[];
sft16a[].in = ( w260w, ( w241w, ( w241w, ( (! w128w[9..9]), ( w176w[6..6], ( w176w[5..5], ( w128w[6..6], ( w128w[5..5], ( w128w[4..3])))))))));
sft17a[].in = ( w260w, ( w260w, ( w260w, ( w252w, ( w128w[8..8], ( w128w[7..7], ( w73w[8..8], ( w73w[7..7], ( w73w[6..5])))))))));
sft18a[].in = add15_result[];
sft20a[].in = ( w260w, ( w241w, (! w73w[9..9])));
sft21a[].in = ( w260w, ( w260w, w241w));
sft22a[].in = add19_result[];
sft8a[].in = ( w241w, ( w241w, ( w255w, ( w245w, ( w244w, ( w238w, ( w236w, ( w205w, ( w203w, ( w201w, ( w199w, ( w197w, ( w176w[0..0], ( w128w[1..1], ( w128w[0..0], ( w73w[1..0]))))))))))))))));
sft9a[].in = ( w260w, ( w257w, ( w256w, ( w254w, ( w253w, ( w251w, ( w243w, ( w234w, ( w232w, ( w230w, ( w228w, ( w226w, ( w195w, ( w249w, ( w175w, ( w260w, w126w))))))))))))))));
dataa_node[] = ( datab[7..0]);
datab_node[] = ( dataa[5..0]);
final_result_node[] = ( w387w[13..0]);
result[] = ( final_result_node[13..0]);
w105w = sft10a[0..0].out;
w126w = cs1a[0].sout;
w128w[] = le4a[].out;
w129w[] = ( B"0", dataa_node[], B"0");
w130w[] = ( B"0", B"0", dataa_node[]);
w143w[] = (((! w129w[]) & cs1a[1].sout) & (! cs2a[1].sout));
w144w[] = ((((! w130w[]) & cs1a[1].sout) & cs2a[1].sout) # ((w130w[] & (! cs1a[1].sout)) & cs2a[1].sout));
w173w = cs1a[1].sout;
w175w = sft14a[0..0].out;
w176w[] = le5a[].out;
w177w[] = ( B"0", dataa_node[], B"0");
w178w[] = ( B"0", B"0", dataa_node[]);
w195w = sft14a[2..2].out;
w197w = sft14a[3..3].out;
w199w = sft14a[4..4].out;
w201w = sft14a[5..5].out;
w203w = sft14a[6..6].out;
w205w = sft14a[7..7].out;
w212w[] = le6a[].out;
w214w[] = ( B"0", dataa_node[]);
w226w = sft18a[0..0].out;
w228w = sft18a[1..1].out;
w230w = sft18a[2..2].out;
w232w = sft18a[3..3].out;
w234w = sft18a[4..4].out;
w236w = sft14a[8..8].out;
w238w = sft14a[9..9].out;
w241w = B"1";
w242w = sft22a[0..0].out;
w243w = sft18a[5..5].out;
w244w = sft14a[10..10].out;
w245w = sft14a[11..11].out;
w249w = sft14a[1..1].out;
w250w = sft22a[1..1].out;
w251w = sft18a[6..6].out;
w252w = sft22a[2..2].out;
w253w = sft18a[7..7].out;
w254w = sft18a[8..8].out;
w255w = sft14a[12..12].out;
w256w = sft18a[9..9].out;
w257w = sft14a[13..13].out;
w260w = B"0";
w387w[] = ( sft10a[16..15].out, sft10a[14..13].out, sft10a[12..11].out, sft10a[10..9].out, sft10a[8..7].out, sft10a[6..5].out, sft10a[4..3].out, sft10a[2..1].out, sft10a[0..0].out);
w73w[] = le3a[].out;
w74w[] = ( B"0", dataa_node[], B"0");
w75w[] = ( B"0", B"0", dataa_node[]);
w7w[] = ( B"00", datab_node[]);
w88w[] = (((! w74w[]) & cs1a[0].sout) & (! cs2a[0].sout));
w89w[] = ((((! w75w[]) & cs1a[0].sout) & cs2a[0].sout) # ((w75w[] & (! cs1a[0].sout)) & cs2a[0].sout));
END;
--VALID FILE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -