📄 mult_e9o.tdf
字号:
--lpm_mult CBX_DECLARE_ALL_CONNECTED_PORTS="OFF" DEVICE_FAMILY="Cyclone" DSP_BLOCK_BALANCING="Auto" LPM_REPRESENTATION="UNSIGNED" LPM_WIDTHA=10 LPM_WIDTHB=10 LPM_WIDTHP=20 LPM_WIDTHS=1 MAXIMIZE_SPEED=5 dataa datab result CARRY_CHAIN="MANUAL" CARRY_CHAIN_LENGTH=48
--VERSION_BEGIN 6.0 cbx_cycloneii 2006:02:07:15:19:20:SJ cbx_lpm_add_sub 2006:01:09:11:17:20:SJ cbx_lpm_mult 2006:03:20:13:34:24:SJ cbx_mgl 2006:04:14:11:14:36:SJ cbx_padd 2006:01:12:17:31:50:SJ cbx_stratix 2006:02:07:15:17:04:SJ cbx_stratixii 2006:03:03:09:35:36:SJ cbx_util_mgl 2006:01:09:10:46:36:SJ VERSION_END
-- Copyright (C) 1991-2006 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.
FUNCTION carry_sum (cin, sin)
RETURNS ( cout, sout);
FUNCTION lcell (in)
RETURNS ( out);
FUNCTION soft (in)
RETURNS ( out);
--synthesis_resources = lut 165
SUBDESIGN mult_e9o
(
dataa[9..0] : input;
datab[9..0] : input;
result[19..0] : output;
)
VARIABLE
add13_result[19..0] : WIRE;
add17_result[16..0] : WIRE;
add21_result[11..0] : WIRE;
add25_result[6..0] : WIRE;
add29_result[2..0] : WIRE;
add9_result[22..0] : WIRE;
cs1a[5..0] : carry_sum;
cs2a[5..0] : carry_sum;
le3a[11..0] : lcell;
le4a[11..0] : lcell;
le5a[11..0] : lcell;
le6a[11..0] : lcell;
le7a[11..0] : lcell;
le8a[10..0] : lcell;
sft10a[22..0] : soft;
sft11a[22..0] : soft;
sft12a[22..0] : soft;
sft14a[19..0] : soft;
sft15a[19..0] : soft;
sft16a[19..0] : soft;
sft18a[16..0] : soft;
sft19a[16..0] : soft;
sft20a[16..0] : soft;
sft22a[11..0] : soft;
sft23a[11..0] : soft;
sft24a[11..0] : soft;
sft26a[6..0] : soft;
sft27a[6..0] : soft;
sft28a[6..0] : soft;
sft30a[2..0] : soft;
sft31a[2..0] : soft;
sft32a[2..0] : soft;
dataa_node[9..0] : WIRE;
datab_node[9..0] : WIRE;
final_result_node[19..0] : WIRE;
w129w[11..0] : WIRE;
w130w[11..0] : WIRE;
w131w[11..0] : WIRE;
w144w[11..0] : WIRE;
w145w[11..0] : WIRE;
w186w : WIRE;
w188w[11..0] : WIRE;
w189w[11..0] : WIRE;
w190w[11..0] : WIRE;
w203w[11..0] : WIRE;
w204w[11..0] : WIRE;
w235w : WIRE;
w237w : WIRE;
w238w[11..0] : WIRE;
w239w[11..0] : WIRE;
w240w[11..0] : WIRE;
w253w[11..0] : WIRE;
w254w[11..0] : WIRE;
w271w : WIRE;
w273w : WIRE;
w275w : WIRE;
w277w : WIRE;
w279w : WIRE;
w281w : WIRE;
w283w : WIRE;
w285w : WIRE;
w293w : WIRE;
w295w : WIRE;
w296w[11..0] : WIRE;
w297w[11..0] : WIRE;
w298w[11..0] : WIRE;
w311w[11..0] : WIRE;
w312w[11..0] : WIRE;
w329w : WIRE;
w331w : WIRE;
w333w : WIRE;
w335w : WIRE;
w337w : WIRE;
w339w : WIRE;
w341w : WIRE;
w343w : WIRE;
w351w : WIRE;
w353w : WIRE;
w354w[11..0] : WIRE;
w355w[11..0] : WIRE;
w356w[11..0] : WIRE;
w373w : WIRE;
w375w : WIRE;
w377w : WIRE;
w379w : WIRE;
w381w : WIRE;
w383w : WIRE;
w385w : WIRE;
w387w : WIRE;
w394w[10..0] : WIRE;
w396w[10..0] : WIRE;
w408w : WIRE;
w410w : WIRE;
w412w : WIRE;
w414w : WIRE;
w416w : WIRE;
w418w : WIRE;
w420w : WIRE;
w422w : WIRE;
w424w : WIRE;
w427w : WIRE;
w428w : WIRE;
w429w : WIRE;
w430w : WIRE;
w431w : WIRE;
w432w : WIRE;
w433w : WIRE;
w437w : WIRE;
w438w : WIRE;
w439w : WIRE;
w440w : WIRE;
w441w : WIRE;
w442w : WIRE;
w443w : WIRE;
w444w : WIRE;
w445w : WIRE;
w446w : WIRE;
w447w : WIRE;
w448w : WIRE;
w449w : WIRE;
w450w : WIRE;
w451w : WIRE;
w452w : WIRE;
w453w : WIRE;
w456w : WIRE;
w694w[22..0] : WIRE;
w7w[11..0] : WIRE;
BEGIN
add13_result[] = sft14a[].out + sft15a[].out;
add17_result[] = sft18a[].out + sft19a[].out;
add21_result[] = sft22a[].out + sft23a[].out;
add25_result[] = sft26a[].out + sft27a[].out;
add29_result[] = sft30a[].out + sft31a[].out;
add9_result[] = sft10a[].out + sft11a[].out;
cs1a[].cin = ( ((w7w[10..10] & cs1a[4].cout) # w7w[11..11]), (cs1a[3].cout & w7w[8..8]), ((w7w[6..6] & cs1a[2].cout) # w7w[7..7]), ((w7w[4..4] & cs1a[1].cout) # w7w[5..5]), ((w7w[2..2] & cs1a[0].cout) # w7w[3..3]), w7w[1..1]);
cs1a[].sin = ( ((((((! w7w[11..11]) & w7w[10..10]) & cs1a[4].cout) # ((w7w[11..11] & w7w[10..10]) & (! cs1a[4].cout))) # ((w7w[11..11] & (! w7w[10..10])) & cs1a[4].cout)) # ((w7w[11..11] & (! w7w[10..10])) & (! cs1a[4].cout))), (cs1a[3].cout & w7w[8..8]), ((((((! 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))), ((((((! w7w[5..5]) & w7w[4..4]) & cs1a[1].cout) # ((w7w[5..5] & w7w[4..4]) & (! cs1a[1].cout))) # ((w7w[5..5] & (! w7w[4..4])) & cs1a[1].cout)) # ((w7w[5..5] & (! w7w[4..4])) & (! cs1a[1].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[3..3] & (! w7w[2..2])) & (! cs1a[0].cout))), w7w[1..1]);
cs2a[].cin = ( ((w7w[10..10] & cs2a[4].cout) # w7w[11..11]), (cs2a[3].cout $ w7w[8..8]), ((w7w[6..6] & cs2a[2].cout) # w7w[7..7]), ((w7w[4..4] & cs2a[1].cout) # w7w[5..5]), ((w7w[2..2] & cs2a[0].cout) # w7w[3..3]), w7w[1..1]);
cs2a[].sin = ( ((((((! w7w[11..11]) & (! w7w[10..10])) & cs2a[4].cout) # (((! w7w[11..11]) & w7w[10..10]) & (! cs2a[4].cout))) # ((w7w[11..11] & w7w[10..10]) & (! cs2a[4].cout))) # ((w7w[11..11] & (! w7w[10..10])) & cs2a[4].cout)), (cs2a[3].cout $ w7w[8..8]), ((((((! 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)), ((((((! w7w[5..5]) & (! w7w[4..4])) & cs2a[1].cout) # (((! w7w[5..5]) & w7w[4..4]) & (! cs2a[1].cout))) # ((w7w[5..5] & w7w[4..4]) & (! cs2a[1].cout))) # ((w7w[5..5] & (! w7w[4..4])) & cs2a[1].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[3..3] & (! w7w[2..2])) & cs2a[0].cout)), w7w[0..0]);
le3a[].in = (! ((! w144w[]) & (! w145w[])));
le4a[].in = (! ((! w203w[]) & (! w204w[])));
le5a[].in = (! ((! w253w[]) & (! w254w[])));
le6a[].in = (! ((! w311w[]) & (! w312w[])));
le7a[].in = ((cs1a[4].sout & w355w[]) # (cs2a[4].sout & w356w[]));
le8a[].in = (w7w[9..9] & w396w[]);
sft10a[].in = ( w427w, ( w427w, ( w451w, ( w433w, ( w432w, ( w424w, ( w422w, ( w387w, ( w385w, ( w343w, ( w341w, ( w285w, ( w283w, ( w281w, ( w279w, ( w277w, ( w275w, ( w273w, ( w271w, ( w188w[1..1], ( w188w[0..0], ( w129w[1..0]))))))))))))))))))))));
sft11a[].in = ( w456w, ( w453w, ( w452w, ( w450w, ( w449w, ( w447w, ( w431w, ( w420w, ( w418w, ( w383w, ( w381w, ( w339w, ( w337w, ( w335w, ( w333w, ( w331w, ( w329w, ( w438w, ( w295w, ( w437w, ( w237w, ( w456w, w186w))))))))))))))))))))));
sft12a[].in = add9_result[];
sft14a[].in = ( w456w, ( w427w, ( w394w[10..10], ( w394w[9..9], ( w394w[8..8], ( w394w[7..7], ( w394w[6..6], ( w394w[5..5], ( w394w[4..4], ( w394w[3..3], ( w379w, ( w394w[1..1], ( w394w[0..0], ( w354w[0..0], ( w296w[1..1], ( w296w[0..0], ( w238w[1..1], ( w238w[0..0], ( w129w[3..2])))))))))))))))))));
sft15a[].in = ( w456w, ( w456w, ( w354w[11..11], ( w354w[10..10], ( w354w[9..9], ( w446w, ( w444w, ( w430w, ( w416w, ( w414w, ( w428w, ( w377w, ( w375w, ( w373w, ( w439w, ( w353w, ( w188w[3..3], ( w188w[2..2], ( w456w, w235w)))))))))))))))))));
sft16a[].in = add13_result[];
sft18a[].in = ( w456w, ( w427w, ( w427w, ( (! w296w[11..11]), ( w354w[8..8], ( w354w[7..7], ( w354w[6..6], ( w441w, ( w429w, ( w394w[2..2], ( w354w[2..2], ( w354w[1..1], ( w296w[2..2], ( w238w[3..3], ( w238w[2..2], ( w129w[5..5], w293w))))))))))))))));
sft19a[].in = ( w456w, ( w456w, ( w456w, ( w448w, ( w296w[10..10], ( w445w, ( w443w, ( w442w, ( w440w, ( w412w, ( w410w, ( w408w, ( w238w[4..4], ( w188w[5..5], ( w188w[4..4], ( w456w, w129w[4..4]))))))))))))))));
sft20a[].in = add17_result[];
sft22a[].in = ( w456w, ( w427w, ( w296w[9..9], ( w296w[8..8], ( w354w[5..5], ( w354w[4..4], ( w354w[3..3], ( w296w[4..4], ( w296w[3..3], ( w188w[6..6], ( w129w[7..6])))))))))));
sft23a[].in = ( w456w, ( w456w, ( (! w238w[11..11]), ( w238w[10..10], ( w296w[7..7], ( w296w[6..6], ( w296w[5..5], ( w238w[6..6], ( w238w[5..5], ( w129w[8..8], ( w456w, w351w)))))))))));
sft24a[].in = add21_result[];
sft26a[].in = ( w456w, ( w427w, ( w238w[9..9], ( w238w[8..8], ( w238w[7..7], ( w188w[8..7]))))));
sft27a[].in = ( w456w, ( w456w, ( (! w188w[11..11]), ( w188w[10..10], ( w188w[9..9], ( w129w[10..9]))))));
sft28a[].in = add25_result[];
sft30a[].in = ( w456w, ( w427w, w427w));
sft31a[].in = ( w456w, ( w456w, (! w129w[11..11])));
sft32a[].in = add29_result[];
dataa_node[] = ( dataa[9..0]);
datab_node[] = ( datab[9..0]);
final_result_node[] = ( w694w[19..0]);
result[] = ( final_result_node[19..0]);
w129w[] = le3a[].out;
w130w[] = ( B"0", dataa_node[], B"0");
w131w[] = ( B"0", B"0", dataa_node[]);
w144w[] = (((! w130w[]) & cs1a[0].sout) & (! cs2a[0].sout));
w145w[] = ((((! w131w[]) & cs1a[0].sout) & cs2a[0].sout) # ((w131w[] & (! cs1a[0].sout)) & cs2a[0].sout));
w186w = cs1a[0].sout;
w188w[] = le4a[].out;
w189w[] = ( B"0", dataa_node[], B"0");
w190w[] = ( B"0", B"0", dataa_node[]);
w203w[] = (((! w189w[]) & cs1a[1].sout) & (! cs2a[1].sout));
w204w[] = ((((! w190w[]) & cs1a[1].sout) & cs2a[1].sout) # ((w190w[] & (! cs1a[1].sout)) & cs2a[1].sout));
w235w = cs1a[1].sout;
w237w = sft16a[0..0].out;
w238w[] = le5a[].out;
w239w[] = ( B"0", dataa_node[], B"0");
w240w[] = ( B"0", B"0", dataa_node[]);
w253w[] = (((! w239w[]) & cs1a[2].sout) & (! cs2a[2].sout));
w254w[] = ((((! w240w[]) & cs1a[2].sout) & cs2a[2].sout) # ((w240w[] & (! cs1a[2].sout)) & cs2a[2].sout));
w271w = sft16a[2..2].out;
w273w = sft16a[3..3].out;
w275w = sft16a[4..4].out;
w277w = sft16a[5..5].out;
w279w = sft16a[6..6].out;
w281w = sft16a[7..7].out;
w283w = sft16a[8..8].out;
w285w = sft16a[9..9].out;
w293w = cs1a[2].sout;
w295w = sft20a[0..0].out;
w296w[] = le6a[].out;
w297w[] = ( B"0", dataa_node[], B"0");
w298w[] = ( B"0", B"0", dataa_node[]);
w311w[] = (((! w297w[]) & cs1a[3].sout) & (! cs2a[3].sout));
w312w[] = ((((! w298w[]) & cs1a[3].sout) & cs2a[3].sout) # ((w298w[] & (! cs1a[3].sout)) & cs2a[3].sout));
w329w = sft20a[2..2].out;
w331w = sft20a[3..3].out;
w333w = sft20a[4..4].out;
w335w = sft20a[5..5].out;
w337w = sft20a[6..6].out;
w339w = sft20a[7..7].out;
w341w = sft16a[10..10].out;
w343w = sft16a[11..11].out;
w351w = cs1a[3].sout;
w353w = sft24a[0..0].out;
w354w[] = le7a[].out;
w355w[] = ( B"0", dataa_node[], B"0");
w356w[] = ( B"0", B"0", dataa_node[]);
w373w = sft24a[2..2].out;
w375w = sft24a[3..3].out;
w377w = sft24a[4..4].out;
w379w = sft24a[5..5].out;
w381w = sft20a[8..8].out;
w383w = sft20a[9..9].out;
w385w = sft16a[12..12].out;
w387w = sft16a[13..13].out;
w394w[] = le8a[].out;
w396w[] = ( B"0", dataa_node[]);
w408w = sft28a[0..0].out;
w410w = sft28a[1..1].out;
w412w = sft32a[0..0].out;
w414w = sft24a[6..6].out;
w416w = sft24a[7..7].out;
w418w = sft20a[10..10].out;
w420w = sft20a[11..11].out;
w422w = sft16a[14..14].out;
w424w = sft16a[15..15].out;
w427w = B"1";
w428w = sft28a[2..2].out;
w429w = sft28a[3..3].out;
w430w = sft24a[8..8].out;
w431w = sft20a[12..12].out;
w432w = sft16a[16..16].out;
w433w = sft16a[17..17].out;
w437w = sft16a[1..1].out;
w438w = sft20a[1..1].out;
w439w = sft24a[1..1].out;
w440w = sft32a[1..1].out;
w441w = sft28a[4..4].out;
w442w = sft32a[2..2].out;
w443w = sft28a[5..5].out;
w444w = sft24a[9..9].out;
w445w = sft28a[6..6].out;
w446w = sft24a[10..10].out;
w447w = sft20a[13..13].out;
w448w = sft24a[11..11].out;
w449w = sft20a[14..14].out;
w450w = sft20a[15..15].out;
w451w = sft16a[18..18].out;
w452w = sft20a[16..16].out;
w453w = sft16a[19..19].out;
w456w = B"0";
w694w[] = ( sft12a[22..21].out, sft12a[20..19].out, sft12a[18..17].out, sft12a[16..15].out, sft12a[14..13].out, sft12a[12..11].out, sft12a[10..9].out, sft12a[8..7].out, sft12a[6..5].out, sft12a[4..3].out, sft12a[2..1].out, sft12a[0..0].out);
w7w[] = ( B"00", datab_node[]);
END;
--VALID FILE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -