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

📄 mult_b2o.tdf

📁 通信基带信号发生器的设计
💻 TDF
字号:
--lpm_mult CBX_DECLARE_ALL_CONNECTED_PORTS="OFF" DEVICE_FAMILY="Cyclone" DSP_BLOCK_BALANCING="Auto" LPM_REPRESENTATION="SIGNED" 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:05:18:13:55:50:SJ cbx_mgl 2006:05:17:10:06:16:SJ cbx_padd 2006:01:12:17:31:50:SJ cbx_stratix 2006:05:17:09:28:32: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 140 
SUBDESIGN mult_b2o
( 
	dataa[9..0]	:	input;
	datab[9..0]	:	input;
	result[19..0]	:	output;
) 
VARIABLE
	add13_result[16..0]	:	WIRE;
	add17_result[12..0]	:	WIRE;
	add21_result[8..0]	:	WIRE;
	add25_result[4..0]	:	WIRE;
	add9_result[19..0]	:	WIRE;
	cs1a[4..0] : carry_sum;
	cs3a[4..0] : carry_sum;
	le2a[10..0] : lcell;
	le4a[10..0] : lcell;
	le5a[10..0] : lcell;
	le6a[10..0] : lcell;
	le7a[10..0] : lcell;
	le8a[10..0] : lcell;
	sft10a[19..0] : soft;
	sft11a[19..0] : soft;
	sft12a[19..0] : soft;
	sft14a[16..0] : soft;
	sft15a[16..0] : soft;
	sft16a[16..0] : soft;
	sft18a[12..0] : soft;
	sft19a[12..0] : soft;
	sft20a[12..0] : soft;
	sft22a[8..0] : soft;
	sft23a[8..0] : soft;
	sft24a[8..0] : soft;
	sft26a[4..0] : soft;
	sft27a[4..0] : soft;
	sft28a[4..0] : soft;
	dataa_node[9..0]	: WIRE;
	datab_node[9..0]	: WIRE;
	final_result_node[19..0]	: WIRE;
	w10w[10..0]	: WIRE;
	w11w[10..0]	: WIRE;
	w153w[10..0]	: WIRE;
	w154w[10..0]	: WIRE;
	w155w[10..0]	: WIRE;
	w163w[10..0]	: WIRE;
	w164w[10..0]	: WIRE;
	w197w	: WIRE;
	w201w	: WIRE;
	w203w[10..0]	: WIRE;
	w204w[10..0]	: WIRE;
	w205w[10..0]	: WIRE;
	w213w[10..0]	: WIRE;
	w214w[10..0]	: WIRE;
	w237w	: WIRE;
	w239w	: WIRE;
	w241w	: WIRE;
	w245w	: WIRE;
	w247w	: WIRE;
	w248w[10..0]	: WIRE;
	w249w[10..0]	: WIRE;
	w250w[10..0]	: WIRE;
	w258w[10..0]	: WIRE;
	w259w[10..0]	: WIRE;
	w276w	: WIRE;
	w278w	: WIRE;
	w280w	: WIRE;
	w282w	: WIRE;
	w284w	: WIRE;
	w286w	: WIRE;
	w288w	: WIRE;
	w290w	: WIRE;
	w292w	: WIRE;
	w296w	: WIRE;
	w298w	: WIRE;
	w299w[10..0]	: WIRE;
	w300w[10..0]	: WIRE;
	w301w[10..0]	: WIRE;
	w309w[10..0]	: WIRE;
	w310w[10..0]	: WIRE;
	w327w	: WIRE;
	w329w	: WIRE;
	w331w	: WIRE;
	w333w	: WIRE;
	w335w	: WIRE;
	w337w	: WIRE;
	w339w	: WIRE;
	w341w	: WIRE;
	w343w	: WIRE;
	w347w	: WIRE;
	w349w	: WIRE;
	w350w	: WIRE;
	w351w	: WIRE;
	w352w	: WIRE;
	w353w	: WIRE;
	w354w	: WIRE;
	w356w	: WIRE;
	w357w	: WIRE;
	w358w	: WIRE;
	w359w	: WIRE;
	w360w	: WIRE;
	w361w	: WIRE;
	w362w	: WIRE;
	w363w	: WIRE;
	w364w	: WIRE;
	w365w	: WIRE;
	w366w	: WIRE;
	w367w	: WIRE;
	w368w	: WIRE;
	w369w	: WIRE;
	w370w	: WIRE;
	w373w	: WIRE;
	w558w[19..0]	: WIRE;
	w7w[9..0]	: WIRE;
	w8w[10..0]	: WIRE;
	w9w[10..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;
	add9_result[] = sft10a[].out + sft11a[].out;
	cs1a[].cin = ( B"0", ((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[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[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[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[9..9] & (! w7w[8..8])) & (! cs1a[4].sout)) & (! w10w[])) # ((((! w7w[9..9]) & w7w[8..8]) & cs1a[4].sout) & w10w[])) # ((w7w[9..9] & w7w[8..8]) & cs1a[4].sout));
	le4a[].in = (! ((! w9w[]) & (! (cs3a[4].sout & (w7w[9..9] $ w11w[])))));
	le5a[].in = (! ((! w163w[]) & (! w164w[])));
	le6a[].in = (! ((! w213w[]) & (! w214w[])));
	le7a[].in = (! ((! w258w[]) & (! w259w[])));
	le8a[].in = (! ((! w309w[]) & (! w310w[])));
	sft10a[].in = ( w350w, ( (! w8w[10..10]), ( w8w[9..9], ( w367w, ( w354w, ( w343w, ( w341w, ( w292w, ( w290w, ( w241w, ( w239w, ( w197w, ( w282w, ( w280w, ( w278w, ( w276w, ( w203w[1..1], ( w203w[0..0], ( w153w[1..0])))))))))))))))))));
	sft11a[].in = ( w373w, ( w370w, ( w369w, ( w368w, ( w366w, ( w364w, ( w353w, ( w339w, ( w337w, ( w288w, ( w286w, ( w237w, ( w329w, ( w327w, ( w357w, ( w298w, ( w356w, ( w247w, ( w373w, w201w)))))))))))))))))));
	sft12a[].in = add9_result[];
	sft14a[].in = ( w373w, ( w350w, ( w8w[8..8], ( w8w[7..7], ( w8w[6..6], ( w8w[5..5], ( w8w[4..4], ( w8w[3..3], ( w8w[2..2], ( w8w[1..1], ( w8w[0..0], ( w299w[1..1], ( w299w[0..0], ( w248w[1..1], ( w248w[0..0], ( w153w[3..2]))))))))))))))));
	sft15a[].in = ( w373w, ( w373w, ( (! w299w[10..10]), ( w299w[9..9], ( w299w[8..8], ( w363w, ( w361w, ( w352w, ( w335w, ( w333w, ( w284w, ( w358w, ( w349w, ( w203w[3..3], ( w203w[2..2], ( w373w, w245w))))))))))))))));
	sft16a[].in = add13_result[];
	sft18a[].in = ( w373w, ( w350w, ( (! w248w[10..10]), ( w299w[7..7], ( w299w[6..6], ( w299w[5..5], ( w299w[4..4], ( w299w[3..3], ( w299w[2..2], ( w248w[3..3], ( w248w[2..2], ( w153w[5..5], w296w))))))))))));
	sft19a[].in = ( w373w, ( w373w, ( w365w, ( w248w[9..9], ( w362w, ( w360w, ( w351w, ( w359w, ( w331w, ( w203w[5..5], ( w203w[4..4], ( w373w, w153w[4..4]))))))))))));
	sft20a[].in = add17_result[];
	sft22a[].in = ( w373w, ( w350w, ( w248w[8..8], ( w248w[7..7], ( w248w[6..6], ( w248w[5..5], ( w248w[4..4], ( w153w[7..6]))))))));
	sft23a[].in = ( w373w, ( w373w, ( (! w203w[10..10]), ( w203w[9..9], ( w203w[8..8], ( w203w[7..7], ( w203w[6..6], ( w373w, w347w))))))));
	sft24a[].in = add21_result[];
	sft26a[].in = ( w373w, ( w350w, ( (! w153w[10..10]), ( w153w[9..8]))));
	sft27a[].in = ( w373w, ( w373w, ( w350w, ( w373w, w7w[9..9]))));
	sft28a[].in = add25_result[];
	dataa_node[] = ( dataa[9..0]);
	datab_node[] = ( datab[9..0]);
	final_result_node[] = ( w558w[19..0]);
	result[] = ( final_result_node[19..0]);
	w10w[] = ( dataa_node[], B"0");
	w11w[] = ( dataa_node[9..9], dataa_node[]);
	w153w[] = le5a[].out;
	w154w[] = ( dataa_node[], B"0");
	w155w[] = ( dataa_node[9..9], dataa_node[]);
	w163w[] = (((! w154w[]) & cs1a[0].sout) & (! cs3a[0].sout));
	w164w[] = ((((! w155w[]) & cs1a[0].sout) & cs3a[0].sout) # ((w155w[] & (! cs1a[0].sout)) & cs3a[0].sout));
	w197w = sft16a[6..6].out;
	w201w = cs1a[0].sout;
	w203w[] = le6a[].out;
	w204w[] = ( dataa_node[], B"0");
	w205w[] = ( dataa_node[9..9], dataa_node[]);
	w213w[] = (((! w204w[]) & cs1a[1].sout) & (! cs3a[1].sout));
	w214w[] = ((((! w205w[]) & cs1a[1].sout) & cs3a[1].sout) # ((w205w[] & (! cs1a[1].sout)) & cs3a[1].sout));
	w237w = sft20a[4..4].out;
	w239w = sft16a[7..7].out;
	w241w = sft16a[8..8].out;
	w245w = cs1a[1].sout;
	w247w = sft16a[0..0].out;
	w248w[] = le7a[].out;
	w249w[] = ( dataa_node[], B"0");
	w250w[] = ( dataa_node[9..9], dataa_node[]);
	w258w[] = (((! w249w[]) & cs1a[2].sout) & (! cs3a[2].sout));
	w259w[] = ((((! w250w[]) & cs1a[2].sout) & cs3a[2].sout) # ((w250w[] & (! cs1a[2].sout)) & cs3a[2].sout));
	w276w = sft16a[2..2].out;
	w278w = sft16a[3..3].out;
	w280w = sft16a[4..4].out;
	w282w = sft16a[5..5].out;
	w284w = sft24a[2..2].out;
	w286w = sft20a[5..5].out;
	w288w = sft20a[6..6].out;
	w290w = sft16a[9..9].out;
	w292w = sft16a[10..10].out;
	w296w = cs1a[2].sout;
	w298w = sft20a[0..0].out;
	w299w[] = le8a[].out;
	w300w[] = ( dataa_node[], B"0");
	w301w[] = ( dataa_node[9..9], dataa_node[]);
	w309w[] = (((! w300w[]) & cs1a[3].sout) & (! cs3a[3].sout));
	w310w[] = ((((! w301w[]) & cs1a[3].sout) & cs3a[3].sout) # ((w301w[] & (! cs1a[3].sout)) & cs3a[3].sout));
	w327w = sft20a[2..2].out;
	w329w = sft20a[3..3].out;
	w331w = sft28a[0..0].out;
	w333w = sft24a[3..3].out;
	w335w = sft24a[4..4].out;
	w337w = sft20a[7..7].out;
	w339w = sft20a[8..8].out;
	w341w = sft16a[11..11].out;
	w343w = sft16a[12..12].out;
	w347w = cs1a[3].sout;
	w349w = sft24a[0..0].out;
	w350w = B"1";
	w351w = sft28a[2..2].out;
	w352w = sft24a[5..5].out;
	w353w = sft20a[9..9].out;
	w354w = sft16a[13..13].out;
	w356w = sft16a[1..1].out;
	w357w = sft20a[1..1].out;
	w358w = sft24a[1..1].out;
	w359w = sft28a[1..1].out;
	w360w = sft28a[3..3].out;
	w361w = sft24a[6..6].out;
	w362w = sft28a[4..4].out;
	w363w = sft24a[7..7].out;
	w364w = sft20a[10..10].out;
	w365w = sft24a[8..8].out;
	w366w = sft20a[11..11].out;
	w367w = sft16a[14..14].out;
	w368w = sft20a[12..12].out;
	w369w = sft16a[15..15].out;
	w370w = sft16a[16..16].out;
	w373w = B"0";
	w558w[] = ( sft12a[19..19].out, sft12a[18..18].out, sft12a[17..17].out, sft12a[16..16].out, sft12a[15..15].out, sft12a[14..14].out, sft12a[13..13].out, sft12a[12..12].out, sft12a[11..11].out, sft12a[10..10].out, sft12a[9..9].out, sft12a[8..8].out, sft12a[7..7].out, sft12a[6..6].out, sft12a[5..5].out, sft12a[4..4].out, sft12a[3..3].out, sft12a[2..2].out, sft12a[1..1].out, sft12a[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 + -