📄 mult_orn.tdf
字号:
--lpm_mult CBX_DECLARE_ALL_CONNECTED_PORTS="OFF" DEVICE_FAMILY="Cyclone" DSP_BLOCK_BALANCING="Auto" LPM_PIPELINE=0 LPM_REPRESENTATION="SIGNED" LPM_WIDTHA=12 LPM_WIDTHB=12 LPM_WIDTHP=24 LPM_WIDTHS=1 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 192
SUBDESIGN mult_orn
(
dataa[11..0] : input;
datab[11..0] : input;
result[23..0] : output;
)
VARIABLE
add10_result[23..0] : WIRE;
add14_result[20..0] : WIRE;
add18_result[16..0] : WIRE;
add22_result[12..0] : WIRE;
add26_result[8..0] : WIRE;
add30_result[4..0] : WIRE;
cs1a[5..0] : carry_sum;
cs3a[5..0] : carry_sum;
le2a[12..0] : lcell;
le4a[12..0] : lcell;
le5a[12..0] : lcell;
le6a[12..0] : lcell;
le7a[12..0] : lcell;
le8a[12..0] : lcell;
le9a[12..0] : lcell;
sft11a[23..0] : soft;
sft12a[23..0] : soft;
sft13a[23..0] : soft;
sft15a[20..0] : soft;
sft16a[20..0] : soft;
sft17a[20..0] : soft;
sft19a[16..0] : soft;
sft20a[16..0] : soft;
sft21a[16..0] : soft;
sft23a[12..0] : soft;
sft24a[12..0] : soft;
sft25a[12..0] : soft;
sft27a[8..0] : soft;
sft28a[8..0] : soft;
sft29a[8..0] : soft;
sft31a[4..0] : soft;
sft32a[4..0] : soft;
sft33a[4..0] : soft;
dataa_node[11..0] : WIRE;
datab_node[11..0] : WIRE;
final_result_node[23..0] : WIRE;
w10w[12..0] : WIRE;
w11w[12..0] : WIRE;
w185w[12..0] : WIRE;
w186w[12..0] : WIRE;
w187w[12..0] : WIRE;
w195w[12..0] : WIRE;
w196w[12..0] : WIRE;
w212w : WIRE;
w233w : WIRE;
w237w : WIRE;
w239w[12..0] : WIRE;
w240w[12..0] : WIRE;
w241w[12..0] : WIRE;
w249w[12..0] : WIRE;
w250w[12..0] : WIRE;
w275w : WIRE;
w277w : WIRE;
w279w : WIRE;
w283w : WIRE;
w285w : WIRE;
w286w[12..0] : WIRE;
w287w[12..0] : WIRE;
w288w[12..0] : WIRE;
w296w[12..0] : WIRE;
w297w[12..0] : WIRE;
w314w : WIRE;
w316w : WIRE;
w318w : WIRE;
w320w : WIRE;
w322w : WIRE;
w324w : WIRE;
w326w : WIRE;
w328w : WIRE;
w330w : WIRE;
w332w : WIRE;
w334w : WIRE;
w338w : WIRE;
w340w : WIRE;
w341w[12..0] : WIRE;
w342w[12..0] : WIRE;
w343w[12..0] : WIRE;
w351w[12..0] : WIRE;
w352w[12..0] : WIRE;
w369w : WIRE;
w371w : WIRE;
w373w : WIRE;
w375w : WIRE;
w377w : WIRE;
w379w : WIRE;
w381w : WIRE;
w383w : WIRE;
w385w : WIRE;
w387w : WIRE;
w389w : WIRE;
w393w : WIRE;
w395w : WIRE;
w396w[12..0] : WIRE;
w397w[12..0] : WIRE;
w398w[12..0] : WIRE;
w406w[12..0] : WIRE;
w407w[12..0] : WIRE;
w424w : WIRE;
w426w : WIRE;
w428w : WIRE;
w430w : WIRE;
w432w : WIRE;
w434w : WIRE;
w436w : WIRE;
w438w : WIRE;
w440w : WIRE;
w442w : WIRE;
w444w : WIRE;
w448w : WIRE;
w450w : WIRE;
w451w : WIRE;
w452w : WIRE;
w453w : WIRE;
w454w : WIRE;
w455w : WIRE;
w456w : WIRE;
w458w : WIRE;
w459w : WIRE;
w460w : WIRE;
w461w : WIRE;
w462w : WIRE;
w463w : WIRE;
w464w : WIRE;
w465w : WIRE;
w466w : WIRE;
w467w : WIRE;
w468w : WIRE;
w469w : WIRE;
w470w : WIRE;
w471w : WIRE;
w472w : WIRE;
w473w : WIRE;
w474w : WIRE;
w475w : WIRE;
w476w : WIRE;
w479w : WIRE;
w736w[23..0] : WIRE;
w7w[11..0] : WIRE;
w8w[12..0] : WIRE;
w9w[12..0] : WIRE;
BEGIN
add10_result[] = sft11a[].out + sft12a[].out;
add14_result[] = sft15a[].out + sft16a[].out;
add18_result[] = sft19a[].out + sft20a[].out;
add22_result[] = sft23a[].out + sft24a[].out;
add26_result[] = sft27a[].out + sft28a[].out;
add30_result[] = sft31a[].out + sft32a[].out;
cs1a[].cin = ( B"0", ((w7w[8..8] & cs1a[3].cout) # w7w[9..9]), ((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 = ( cs1a[4].cout, ((((((! w7w[9..9]) & w7w[8..8]) & cs1a[3].cout) # ((w7w[9..9] & w7w[8..8]) & (! cs1a[3].cout))) # ((w7w[9..9] & (! w7w[8..8])) & cs1a[3].cout)) # ((w7w[9..9] & (! w7w[8..8])) & (! cs1a[3].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[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]);
cs3a[].cin = ( B"0", ((w7w[8..8] & cs3a[3].cout) # w7w[9..9]), ((w7w[6..6] & cs3a[2].cout) # w7w[7..7]), ((w7w[4..4] & cs3a[1].cout) # w7w[5..5]), ((w7w[2..2] & cs3a[0].cout) # w7w[3..3]), w7w[1..1]);
cs3a[].sin = ( (w7w[10..10] $ cs3a[4].cout), ((((((! w7w[9..9]) & (! w7w[8..8])) & cs3a[3].cout) # (((! w7w[9..9]) & w7w[8..8]) & (! cs3a[3].cout))) # ((w7w[9..9] & w7w[8..8]) & (! cs3a[3].cout))) # ((w7w[9..9] & (! w7w[8..8])) & cs3a[3].cout)), ((((((! w7w[7..7]) & (! w7w[6..6])) & cs3a[2].cout) # (((! w7w[7..7]) & w7w[6..6]) & (! cs3a[2].cout))) # ((w7w[7..7] & w7w[6..6]) & (! cs3a[2].cout))) # ((w7w[7..7] & (! w7w[6..6])) & cs3a[2].cout)), ((((((! w7w[5..5]) & (! w7w[4..4])) & cs3a[1].cout) # (((! w7w[5..5]) & w7w[4..4]) & (! cs3a[1].cout))) # ((w7w[5..5] & w7w[4..4]) & (! cs3a[1].cout))) # ((w7w[5..5] & (! w7w[4..4])) & cs3a[1].cout)), ((((((! w7w[3..3]) & (! w7w[2..2])) & cs3a[0].cout) # (((! w7w[3..3]) & w7w[2..2]) & (! cs3a[0].cout))) # ((w7w[3..3] & w7w[2..2]) & (! cs3a[0].cout))) # ((w7w[3..3] & (! w7w[2..2])) & cs3a[0].cout)), w7w[0..0]);
le2a[].in = (((((w7w[11..11] & (! w7w[10..10])) & (! cs1a[5].sout)) & (! w10w[])) # ((((! w7w[11..11]) & w7w[10..10]) & cs1a[5].sout) & w10w[])) # ((w7w[11..11] & w7w[10..10]) & cs1a[5].sout));
le4a[].in = (! ((! w9w[]) & (! (cs3a[5].sout & (w7w[11..11] $ w11w[])))));
le5a[].in = (! ((! w195w[]) & (! w196w[])));
le6a[].in = (! ((! w249w[]) & (! w250w[])));
le7a[].in = (! ((! w296w[]) & (! w297w[])));
le8a[].in = (! ((! w351w[]) & (! w352w[])));
le9a[].in = (! ((! w406w[]) & (! w407w[])));
sft11a[].in = ( w451w, ( (! w8w[12..12]), ( w8w[11..11], ( w473w, ( w456w, ( w444w, ( w442w, ( w389w, ( w387w, ( w334w, ( w332w, ( w279w, ( w277w, ( w233w, ( w324w, ( w322w, ( w320w, ( w318w, ( w316w, ( w314w, ( w239w[1..1], ( w239w[0..0], ( w185w[1..0])))))))))))))))))))))));
sft12a[].in = ( w479w, ( w476w, ( w475w, ( w474w, ( w472w, ( w470w, ( w455w, ( w440w, ( w438w, ( w385w, ( w383w, ( w330w, ( w328w, ( w275w, ( w375w, ( w373w, ( w371w, ( w369w, ( w459w, ( w340w, ( w458w, ( w285w, ( w479w, w237w)))))))))))))))))))))));
sft13a[].in = add10_result[];
sft15a[].in = ( w479w, ( w451w, ( w8w[10..10], ( w8w[9..9], ( w8w[8..8], ( w8w[7..7], ( w8w[6..6], ( w8w[5..5], ( w8w[4..4], ( w8w[3..3], ( w381w, ( w8w[1..1], ( w326w, ( w396w[1..1], ( w396w[0..0], ( w341w[1..1], ( w341w[0..0], ( w286w[1..1], ( w286w[0..0], ( w185w[3..2]))))))))))))))))))));
sft16a[].in = ( w479w, ( w479w, ( (! w396w[12..12]), ( w396w[11..11], ( w396w[10..10], ( w469w, ( w467w, ( w454w, ( w436w, ( w434w, ( w452w, ( w379w, ( w428w, ( w426w, ( w424w, ( w460w, ( w395w, ( w239w[3..3], ( w239w[2..2], ( w479w, w283w))))))))))))))))))));
sft17a[].in = add14_result[];
sft19a[].in = ( w479w, ( w451w, ( (! w341w[12..12]), ( w396w[9..9], ( w396w[8..8], ( w396w[7..7], ( w464w, ( w453w, ( w8w[2..2], ( w430w, ( w8w[0..0], ( w341w[3..3], ( w341w[2..2], ( w286w[3..3], ( w286w[2..2], ( w185w[5..5], w338w))))))))))))))));
sft20a[].in = ( w479w, ( w479w, ( w471w, ( w341w[11..11], ( w468w, ( w466w, ( w465w, ( w463w, ( w432w, ( w462w, ( w377w, ( w461w, ( w450w, ( w239w[5..5], ( w239w[4..4], ( w479w, w185w[4..4]))))))))))))))));
sft21a[].in = add18_result[];
sft23a[].in = ( w479w, ( w451w, ( w341w[10..10], ( w341w[9..9], ( w396w[6..6], ( w396w[5..5], ( w396w[4..4], ( w396w[3..3], ( w396w[2..2], ( w286w[5..5], ( w286w[4..4], ( w185w[7..6]))))))))))));
sft24a[].in = ( w479w, ( w479w, ( (! w286w[12..12]), ( w286w[11..11], ( w341w[8..8], ( w341w[7..7], ( w341w[6..6], ( w341w[5..5], ( w341w[4..4], ( w239w[7..7], ( w239w[6..6], ( w479w, w393w))))))))))));
sft25a[].in = add22_result[];
sft27a[].in = ( w479w, ( w451w, ( w286w[10..10], ( w286w[9..9], ( w286w[8..8], ( w286w[7..7], ( w286w[6..6], ( w185w[9..9], w448w))))))));
sft28a[].in = ( w479w, ( w479w, ( (! w239w[12..12]), ( w239w[11..11], ( w239w[10..10], ( w239w[9..9], ( w239w[8..8], ( w479w, w185w[8..8]))))))));
sft29a[].in = add26_result[];
sft31a[].in = ( w479w, ( w451w, ( (! w185w[12..12]), ( w185w[11..11], w7w[11..11]))));
sft32a[].in = ( w479w, ( w479w, ( w451w, ( w479w, w185w[10..10]))));
sft33a[].in = add30_result[];
dataa_node[] = ( dataa[11..0]);
datab_node[] = ( datab[11..0]);
final_result_node[] = ( w736w[23..0]);
result[] = ( final_result_node[23..0]);
w10w[] = ( dataa_node[], B"0");
w11w[] = ( dataa_node[11..11], dataa_node[]);
w185w[] = le5a[].out;
w186w[] = ( dataa_node[], B"0");
w187w[] = ( dataa_node[11..11], dataa_node[]);
w195w[] = (((! w186w[]) & cs1a[0].sout) & (! cs3a[0].sout));
w196w[] = ((((! w187w[]) & cs1a[0].sout) & cs3a[0].sout) # ((w187w[] & (! cs1a[0].sout)) & cs3a[0].sout));
w212w = sft13a[0..0].out;
w233w = sft17a[8..8].out;
w237w = cs1a[0].sout;
w239w[] = le6a[].out;
w240w[] = ( dataa_node[], B"0");
w241w[] = ( dataa_node[11..11], dataa_node[]);
w249w[] = (((! w240w[]) & cs1a[1].sout) & (! cs3a[1].sout));
w250w[] = ((((! w241w[]) & cs1a[1].sout) & cs3a[1].sout) # ((w241w[] & (! cs1a[1].sout)) & cs3a[1].sout));
w275w = sft21a[6..6].out;
w277w = sft17a[9..9].out;
w279w = sft17a[10..10].out;
w283w = cs1a[1].sout;
w285w = sft17a[0..0].out;
w286w[] = le7a[].out;
w287w[] = ( dataa_node[], B"0");
w288w[] = ( dataa_node[11..11], dataa_node[]);
w296w[] = (((! w287w[]) & cs1a[2].sout) & (! cs3a[2].sout));
w297w[] = ((((! w288w[]) & cs1a[2].sout) & cs3a[2].sout) # ((w288w[] & (! cs1a[2].sout)) & cs3a[2].sout));
w314w = sft17a[2..2].out;
w316w = sft17a[3..3].out;
w318w = sft17a[4..4].out;
w320w = sft17a[5..5].out;
w322w = sft17a[6..6].out;
w324w = sft17a[7..7].out;
w326w = sft25a[4..4].out;
w328w = sft21a[7..7].out;
w330w = sft21a[8..8].out;
w332w = sft17a[11..11].out;
w334w = sft17a[12..12].out;
w338w = cs1a[2].sout;
w340w = sft21a[0..0].out;
w341w[] = le8a[].out;
w342w[] = ( dataa_node[], B"0");
w343w[] = ( dataa_node[11..11], dataa_node[]);
w351w[] = (((! w342w[]) & cs1a[3].sout) & (! cs3a[3].sout));
w352w[] = ((((! w343w[]) & cs1a[3].sout) & cs3a[3].sout) # ((w343w[] & (! cs1a[3].sout)) & cs3a[3].sout));
w369w = sft21a[2..2].out;
w371w = sft21a[3..3].out;
w373w = sft21a[4..4].out;
w375w = sft21a[5..5].out;
w377w = sft33a[0..0].out;
w379w = sft25a[5..5].out;
w381w = sft25a[6..6].out;
w383w = sft21a[9..9].out;
w385w = sft21a[10..10].out;
w387w = sft17a[13..13].out;
w389w = sft17a[14..14].out;
w393w = cs1a[3].sout;
w395w = sft25a[0..0].out;
w396w[] = le9a[].out;
w397w[] = ( dataa_node[], B"0");
w398w[] = ( dataa_node[11..11], dataa_node[]);
w406w[] = (((! w397w[]) & cs1a[4].sout) & (! cs3a[4].sout));
w407w[] = ((((! w398w[]) & cs1a[4].sout) & cs3a[4].sout) # ((w398w[] & (! cs1a[4].sout)) & cs3a[4].sout));
w424w = sft25a[2..2].out;
w426w = sft25a[3..3].out;
w428w = sft29a[2..2].out;
w430w = sft29a[3..3].out;
w432w = sft33a[2..2].out;
w434w = sft25a[7..7].out;
w436w = sft25a[8..8].out;
w438w = sft21a[11..11].out;
w440w = sft21a[12..12].out;
w442w = sft17a[15..15].out;
w444w = sft17a[16..16].out;
w448w = cs1a[4].sout;
w450w = sft29a[0..0].out;
w451w = B"1";
w452w = sft29a[4..4].out;
w453w = sft29a[5..5].out;
w454w = sft25a[9..9].out;
w455w = sft21a[13..13].out;
w456w = sft17a[17..17].out;
w458w = sft17a[1..1].out;
w459w = sft21a[1..1].out;
w460w = sft25a[1..1].out;
w461w = sft29a[1..1].out;
w462w = sft33a[1..1].out;
w463w = sft33a[3..3].out;
w464w = sft29a[6..6].out;
w465w = sft33a[4..4].out;
w466w = sft29a[7..7].out;
w467w = sft25a[10..10].out;
w468w = sft29a[8..8].out;
w469w = sft25a[11..11].out;
w470w = sft21a[14..14].out;
w471w = sft25a[12..12].out;
w472w = sft21a[15..15].out;
w473w = sft17a[18..18].out;
w474w = sft21a[16..16].out;
w475w = sft17a[19..19].out;
w476w = sft17a[20..20].out;
w479w = B"0";
w736w[] = ( sft13a[23..23].out, sft13a[22..22].out, sft13a[21..21].out, sft13a[20..20].out, sft13a[19..19].out, sft13a[18..18].out, sft13a[17..17].out, sft13a[16..16].out, sft13a[15..15].out, sft13a[14..14].out, sft13a[13..13].out, sft13a[12..12].out, sft13a[11..11].out, sft13a[10..10].out, sft13a[9..9].out, sft13a[8..8].out, sft13a[7..7].out, sft13a[6..6].out, sft13a[5..5].out, sft13a[4..4].out, sft13a[3..3].out, sft13a[2..2].out, sft13a[1..1].out, sft13a[0..0].out);
w7w[] = datab_node[];
w8w[] = le4a[].out;
w9w[] = le2a[].out;
END;
--VALID FILE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -