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

📄 mult_qk01.tdf

📁 mc8051源码
💻 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=8 LPM_WIDTHB=8 LPM_WIDTHP=16 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 117 
SUBDESIGN mult_qk01
( 
	dataa[7..0]	:	input;
	datab[7..0]	:	input;
	result[15..0]	:	output;
) 
VARIABLE
	add12_result[15..0]	:	WIRE;
	add16_result[12..0]	:	WIRE;
	add20_result[6..0]	:	WIRE;
	add24_result[2..0]	:	WIRE;
	add8_result[18..0]	:	WIRE;
	cs1a[4..0] : carry_sum;
	cs2a[4..0] : carry_sum;
	le3a[9..0] : lcell;
	le4a[9..0] : lcell;
	le5a[9..0] : lcell;
	le6a[9..0] : lcell;
	le7a[8..0] : lcell;
	sft10a[18..0] : soft;
	sft11a[18..0] : soft;
	sft13a[15..0] : soft;
	sft14a[15..0] : soft;
	sft15a[15..0] : soft;
	sft17a[12..0] : soft;
	sft18a[12..0] : soft;
	sft19a[12..0] : soft;
	sft21a[6..0] : soft;
	sft22a[6..0] : soft;
	sft23a[6..0] : soft;
	sft25a[2..0] : soft;
	sft26a[2..0] : soft;
	sft27a[2..0] : soft;
	sft9a[18..0] : soft;
	dataa_node[7..0]	: WIRE;
	datab_node[7..0]	: WIRE;
	final_result_node[15..0]	: WIRE;
	w101w[9..0]	: WIRE;
	w102w[9..0]	: WIRE;
	w103w[9..0]	: WIRE;
	w116w[9..0]	: WIRE;
	w117w[9..0]	: WIRE;
	w133w	: WIRE;
	w154w	: WIRE;
	w156w[9..0]	: WIRE;
	w157w[9..0]	: WIRE;
	w158w[9..0]	: WIRE;
	w171w[9..0]	: WIRE;
	w172w[9..0]	: WIRE;
	w201w	: WIRE;
	w203w	: WIRE;
	w204w[9..0]	: WIRE;
	w205w[9..0]	: WIRE;
	w206w[9..0]	: WIRE;
	w219w[9..0]	: WIRE;
	w220w[9..0]	: WIRE;
	w237w	: WIRE;
	w239w	: WIRE;
	w241w	: WIRE;
	w243w	: WIRE;
	w245w	: WIRE;
	w247w	: WIRE;
	w255w	: WIRE;
	w257w	: WIRE;
	w258w[9..0]	: WIRE;
	w259w[9..0]	: WIRE;
	w260w[9..0]	: WIRE;
	w277w	: WIRE;
	w279w	: WIRE;
	w281w	: WIRE;
	w283w	: WIRE;
	w285w	: WIRE;
	w287w	: WIRE;
	w294w[8..0]	: WIRE;
	w296w[8..0]	: WIRE;
	w308w	: WIRE;
	w310w	: WIRE;
	w312w	: WIRE;
	w314w	: WIRE;
	w316w	: WIRE;
	w318w	: WIRE;
	w320w	: WIRE;
	w323w	: WIRE;
	w324w	: WIRE;
	w325w	: WIRE;
	w326w	: WIRE;
	w327w	: WIRE;
	w328w	: WIRE;
	w332w	: WIRE;
	w333w	: WIRE;
	w334w	: WIRE;
	w335w	: WIRE;
	w336w	: WIRE;
	w337w	: WIRE;
	w338w	: WIRE;
	w339w	: WIRE;
	w340w	: WIRE;
	w341w	: WIRE;
	w342w	: WIRE;
	w343w	: WIRE;
	w344w	: WIRE;
	w347w	: WIRE;
	w514w[18..0]	: WIRE;
	w7w[9..0]	: WIRE;

BEGIN 
	add12_result[] = sft13a[].out + sft14a[].out;
	add16_result[] = sft17a[].out + sft18a[].out;
	add20_result[] = sft21a[].out + sft22a[].out;
	add24_result[] = sft25a[].out + sft26a[].out;
	add8_result[] = sft9a[].out + sft10a[].out;
	cs1a[].cin = ( ((w7w[8..8] & cs1a[3].cout) # w7w[9..9]), (cs1a[2].cout & w7w[6..6]), ((w7w[4..4] & cs1a[1].cout) # w7w[5..5]), ((w7w[2..2] & cs1a[0].cout) # w7w[3..3]), w7w[1..1]);
	cs1a[].sin = ( ((((((! 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))), (cs1a[2].cout & w7w[6..6]), ((((((! 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[8..8] & cs2a[3].cout) # w7w[9..9]), (cs2a[2].cout $ w7w[6..6]), ((w7w[4..4] & cs2a[1].cout) # w7w[5..5]), ((w7w[2..2] & cs2a[0].cout) # w7w[3..3]), w7w[1..1]);
	cs2a[].sin = ( ((((((! w7w[9..9]) & (! w7w[8..8])) & cs2a[3].cout) # (((! w7w[9..9]) & w7w[8..8]) & (! cs2a[3].cout))) # ((w7w[9..9] & w7w[8..8]) & (! cs2a[3].cout))) # ((w7w[9..9] & (! w7w[8..8])) & cs2a[3].cout)), (cs2a[2].cout $ w7w[6..6]), ((((((! 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 = (! ((! w116w[]) & (! w117w[])));
	le4a[].in = (! ((! w171w[]) & (! w172w[])));
	le5a[].in = (! ((! w219w[]) & (! w220w[])));
	le6a[].in = ((cs1a[3].sout & w259w[]) # (cs2a[3].sout & w260w[]));
	le7a[].in = (w7w[7..7] & w296w[]);
	sft10a[].in = ( w347w, ( w344w, ( w343w, ( w341w, ( w340w, ( w338w, ( w326w, ( w316w, ( w314w, ( w283w, ( w281w, ( w279w, ( w277w, ( w333w, ( w257w, ( w332w, ( w203w, ( w347w, w154w))))))))))))))))));
	sft11a[].in = add8_result[];
	sft13a[].in = ( w347w, ( w323w, ( w294w[8..8], ( w294w[7..7], ( w294w[6..6], ( w294w[5..5], ( w294w[4..4], ( w294w[3..3], ( w294w[2..2], ( w294w[1..1], ( w294w[0..0], ( w258w[0..0], ( w204w[1..1], ( w204w[0..0], ( w101w[3..2])))))))))))))));
	sft14a[].in = ( w347w, ( w347w, ( w258w[9..9], ( w258w[8..8], ( w258w[7..7], ( w337w, ( w335w, ( w325w, ( w312w, ( w310w, ( w308w, ( w204w[2..2], ( w156w[3..3], ( w156w[2..2], ( w347w, w201w)))))))))))))));
	sft15a[].in = add12_result[];
	sft17a[].in = ( w347w, ( w323w, ( w323w, ( (! w204w[9..9]), ( w258w[6..6], ( w258w[5..5], ( w258w[4..4], ( w258w[3..3], ( w258w[2..2], ( w258w[1..1], ( w156w[4..4], ( w101w[5..5], w255w))))))))))));
	sft18a[].in = ( w347w, ( w347w, ( w347w, ( w339w, ( w204w[8..8], ( w336w, ( w334w, ( w324w, ( w204w[4..4], ( w204w[3..3], ( w101w[6..6], ( w347w, w101w[4..4]))))))))))));
	sft19a[].in = add16_result[];
	sft21a[].in = ( w347w, ( w323w, ( w204w[7..7], ( w204w[6..6], ( w204w[5..5], ( w156w[6..5]))))));
	sft22a[].in = ( w347w, ( w347w, ( (! w156w[9..9]), ( w156w[8..8], ( w156w[7..7], ( w101w[8..7]))))));
	sft23a[].in = add20_result[];
	sft25a[].in = ( w347w, ( w323w, w323w));
	sft26a[].in = ( w347w, ( w347w, (! w101w[9..9])));
	sft27a[].in = add24_result[];
	sft9a[].in = ( w323w, ( w323w, ( w342w, ( w328w, ( w327w, ( w320w, ( w318w, ( w287w, ( w285w, ( w247w, ( w245w, ( w243w, ( w241w, ( w239w, ( w237w, ( w156w[1..1], ( w156w[0..0], ( w101w[1..0]))))))))))))))))));
	dataa_node[] = ( dataa[7..0]);
	datab_node[] = ( datab[7..0]);
	final_result_node[] = ( w514w[15..0]);
	result[] = ( final_result_node[15..0]);
	w101w[] = le3a[].out;
	w102w[] = ( B"0", dataa_node[], B"0");
	w103w[] = ( B"0", B"0", dataa_node[]);
	w116w[] = (((! w102w[]) & cs1a[0].sout) & (! cs2a[0].sout));
	w117w[] = ((((! w103w[]) & cs1a[0].sout) & cs2a[0].sout) # ((w103w[] & (! cs1a[0].sout)) & cs2a[0].sout));
	w133w = sft11a[0..0].out;
	w154w = cs1a[0].sout;
	w156w[] = le4a[].out;
	w157w[] = ( B"0", dataa_node[], B"0");
	w158w[] = ( B"0", B"0", dataa_node[]);
	w171w[] = (((! w157w[]) & cs1a[1].sout) & (! cs2a[1].sout));
	w172w[] = ((((! w158w[]) & cs1a[1].sout) & cs2a[1].sout) # ((w158w[] & (! cs1a[1].sout)) & cs2a[1].sout));
	w201w = cs1a[1].sout;
	w203w = sft15a[0..0].out;
	w204w[] = le5a[].out;
	w205w[] = ( B"0", dataa_node[], B"0");
	w206w[] = ( B"0", B"0", dataa_node[]);
	w219w[] = (((! w205w[]) & cs1a[2].sout) & (! cs2a[2].sout));
	w220w[] = ((((! w206w[]) & cs1a[2].sout) & cs2a[2].sout) # ((w206w[] & (! cs1a[2].sout)) & cs2a[2].sout));
	w237w = sft15a[2..2].out;
	w239w = sft15a[3..3].out;
	w241w = sft15a[4..4].out;
	w243w = sft15a[5..5].out;
	w245w = sft15a[6..6].out;
	w247w = sft15a[7..7].out;
	w255w = cs1a[2].sout;
	w257w = sft19a[0..0].out;
	w258w[] = le6a[].out;
	w259w[] = ( B"0", dataa_node[], B"0");
	w260w[] = ( B"0", B"0", dataa_node[]);
	w277w = sft19a[2..2].out;
	w279w = sft19a[3..3].out;
	w281w = sft19a[4..4].out;
	w283w = sft19a[5..5].out;
	w285w = sft15a[8..8].out;
	w287w = sft15a[9..9].out;
	w294w[] = le7a[].out;
	w296w[] = ( B"0", dataa_node[]);
	w308w = sft23a[0..0].out;
	w310w = sft23a[1..1].out;
	w312w = sft23a[2..2].out;
	w314w = sft19a[6..6].out;
	w316w = sft19a[7..7].out;
	w318w = sft15a[10..10].out;
	w320w = sft15a[11..11].out;
	w323w = B"1";
	w324w = sft27a[0..0].out;
	w325w = sft23a[3..3].out;
	w326w = sft19a[8..8].out;
	w327w = sft15a[12..12].out;
	w328w = sft15a[13..13].out;
	w332w = sft15a[1..1].out;
	w333w = sft19a[1..1].out;
	w334w = sft27a[1..1].out;
	w335w = sft23a[4..4].out;
	w336w = sft27a[2..2].out;
	w337w = sft23a[5..5].out;
	w338w = sft19a[9..9].out;
	w339w = sft23a[6..6].out;
	w340w = sft19a[10..10].out;
	w341w = sft19a[11..11].out;
	w342w = sft15a[14..14].out;
	w343w = sft19a[12..12].out;
	w344w = sft15a[15..15].out;
	w347w = B"0";
	w514w[] = ( sft11a[18..17].out, sft11a[16..15].out, sft11a[14..13].out, sft11a[12..11].out, sft11a[10..9].out, sft11a[8..7].out, sft11a[6..5].out, sft11a[4..3].out, sft11a[2..1].out, sft11a[0..0].out);
	w7w[] = ( B"00", datab_node[]);
END;
--VALID FILE

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -