⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mult_e9o.tdf

📁 通信基带信号发生器的设计
💻 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 + -