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

📄 mult_c8o.tdf

📁 用DE2板子实现的正选信号发生器,需安装quartus2软件,硬件需要DE2的开发板
💻 TDF
字号:
--lpm_mult CBX_DECLARE_ALL_CONNECTED_PORTS="OFF" DEVICE_FAMILY="Cyclone" DSP_BLOCK_BALANCING="Auto" LPM_REPRESENTATION="UNSIGNED" LPM_WIDTHA=8 LPM_WIDTHB=10 LPM_WIDTHP=18 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 135 
SUBDESIGN mult_c8o
( 
	dataa[7..0]	:	input;
	datab[9..0]	:	input;
	result[17..0]	:	output;
) 
VARIABLE
	add12_result[17..0]	:	WIRE;
	add16_result[14..0]	:	WIRE;
	add20_result[8..0]	:	WIRE;
	add24_result[2..0]	:	WIRE;
	add8_result[20..0]	:	WIRE;
	cs1a[4..0] : carry_sum;
	cs2a[4..0] : carry_sum;
	le3a[11..0] : lcell;
	le4a[11..0] : lcell;
	le5a[11..0] : lcell;
	le6a[11..0] : lcell;
	le7a[10..0] : lcell;
	sft10a[20..0] : soft;
	sft11a[20..0] : soft;
	sft13a[17..0] : soft;
	sft14a[17..0] : soft;
	sft15a[17..0] : soft;
	sft17a[14..0] : soft;
	sft18a[14..0] : soft;
	sft19a[14..0] : soft;
	sft21a[8..0] : soft;
	sft22a[8..0] : soft;
	sft23a[8..0] : soft;
	sft25a[2..0] : soft;
	sft26a[2..0] : soft;
	sft27a[2..0] : soft;
	sft9a[20..0] : soft;
	dataa_node[9..0]	: WIRE;
	datab_node[7..0]	: WIRE;
	final_result_node[17..0]	: WIRE;
	w101w[11..0]	: WIRE;
	w102w[11..0]	: WIRE;
	w103w[11..0]	: WIRE;
	w116w[11..0]	: WIRE;
	w117w[11..0]	: WIRE;
	w158w	: WIRE;
	w160w[11..0]	: WIRE;
	w161w[11..0]	: WIRE;
	w162w[11..0]	: WIRE;
	w175w[11..0]	: WIRE;
	w176w[11..0]	: WIRE;
	w207w	: WIRE;
	w209w	: WIRE;
	w210w[11..0]	: WIRE;
	w211w[11..0]	: WIRE;
	w212w[11..0]	: WIRE;
	w225w[11..0]	: WIRE;
	w226w[11..0]	: WIRE;
	w243w	: WIRE;
	w245w	: WIRE;
	w247w	: WIRE;
	w249w	: WIRE;
	w251w	: WIRE;
	w253w	: WIRE;
	w255w	: WIRE;
	w257w	: WIRE;
	w265w	: WIRE;
	w267w	: WIRE;
	w268w[11..0]	: WIRE;
	w269w[11..0]	: WIRE;
	w270w[11..0]	: WIRE;
	w287w	: WIRE;
	w289w	: WIRE;
	w291w	: WIRE;
	w293w	: WIRE;
	w295w	: WIRE;
	w297w	: WIRE;
	w299w	: WIRE;
	w301w	: WIRE;
	w308w[10..0]	: WIRE;
	w310w[10..0]	: WIRE;
	w322w	: WIRE;
	w324w	: WIRE;
	w326w	: WIRE;
	w328w	: WIRE;
	w330w	: WIRE;
	w332w	: WIRE;
	w334w	: WIRE;
	w336w	: WIRE;
	w338w	: WIRE;
	w341w	: WIRE;
	w342w	: WIRE;
	w343w	: WIRE;
	w344w	: WIRE;
	w345w	: WIRE;
	w346w	: WIRE;
	w350w	: WIRE;
	w351w	: WIRE;
	w352w	: WIRE;
	w353w	: WIRE;
	w354w	: WIRE;
	w355w	: WIRE;
	w356w	: WIRE;
	w357w	: WIRE;
	w358w	: WIRE;
	w359w	: WIRE;
	w360w	: WIRE;
	w361w	: WIRE;
	w362w	: WIRE;
	w365w	: WIRE;
	w556w[20..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 = (! ((! w175w[]) & (! w176w[])));
	le5a[].in = (! ((! w225w[]) & (! w226w[])));
	le6a[].in = ((cs1a[3].sout & w269w[]) # (cs2a[3].sout & w270w[]));
	le7a[].in = (w7w[7..7] & w310w[]);
	sft10a[].in = ( w365w, ( w362w, ( w361w, ( w359w, ( w358w, ( w356w, ( w344w, ( w334w, ( w332w, ( w297w, ( w295w, ( w293w, ( w291w, ( w289w, ( w287w, ( w351w, ( w267w, ( w350w, ( w209w, ( w365w, w158w))))))))))))))))))));
	sft11a[].in = add8_result[];
	sft13a[].in = ( w365w, ( w341w, ( w308w[10..10], ( w308w[9..9], ( w308w[8..8], ( w308w[7..7], ( w308w[6..6], ( w308w[5..5], ( w308w[4..4], ( w308w[3..3], ( w308w[2..2], ( w308w[1..1], ( w308w[0..0], ( w268w[0..0], ( w210w[1..1], ( w210w[0..0], ( w101w[3..2])))))))))))))))));
	sft14a[].in = ( w365w, ( w365w, ( w268w[11..11], ( w268w[10..10], ( w268w[9..9], ( w355w, ( w353w, ( w343w, ( w330w, ( w328w, ( w326w, ( w324w, ( w322w, ( w210w[2..2], ( w160w[3..3], ( w160w[2..2], ( w365w, w207w)))))))))))))))));
	sft15a[].in = add12_result[];
	sft17a[].in = ( w365w, ( w341w, ( w341w, ( (! w210w[11..11]), ( w268w[8..8], ( w268w[7..7], ( w268w[6..6], ( w268w[5..5], ( w268w[4..4], ( w268w[3..3], ( w268w[2..2], ( w268w[1..1], ( w160w[4..4], ( w101w[5..5], w265w))))))))))))));
	sft18a[].in = ( w365w, ( w365w, ( w365w, ( w357w, ( w210w[10..10], ( w354w, ( w352w, ( w342w, ( w210w[6..6], ( w210w[5..5], ( w210w[4..4], ( w210w[3..3], ( w101w[6..6], ( w365w, w101w[4..4]))))))))))))));
	sft19a[].in = add16_result[];
	sft21a[].in = ( w365w, ( w341w, ( w210w[9..9], ( w210w[8..8], ( w210w[7..7], ( w160w[8..8], ( w160w[7..7], ( w160w[6..5]))))))));
	sft22a[].in = ( w365w, ( w365w, ( (! w160w[11..11]), ( w160w[10..10], ( w160w[9..9], ( w101w[10..10], ( w101w[9..9], ( w101w[8..7]))))))));
	sft23a[].in = add20_result[];
	sft25a[].in = ( w365w, ( w341w, w341w));
	sft26a[].in = ( w365w, ( w365w, (! w101w[11..11])));
	sft27a[].in = add24_result[];
	sft9a[].in = ( w341w, ( w341w, ( w360w, ( w346w, ( w345w, ( w338w, ( w336w, ( w301w, ( w299w, ( w257w, ( w255w, ( w253w, ( w251w, ( w249w, ( w247w, ( w245w, ( w243w, ( w160w[1..1], ( w160w[0..0], ( w101w[1..0]))))))))))))))))))));
	dataa_node[] = ( datab[9..0]);
	datab_node[] = ( dataa[7..0]);
	final_result_node[] = ( w556w[17..0]);
	result[] = ( final_result_node[17..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));
	w158w = cs1a[0].sout;
	w160w[] = le4a[].out;
	w161w[] = ( B"0", dataa_node[], B"0");
	w162w[] = ( B"0", B"0", dataa_node[]);
	w175w[] = (((! w161w[]) & cs1a[1].sout) & (! cs2a[1].sout));
	w176w[] = ((((! w162w[]) & cs1a[1].sout) & cs2a[1].sout) # ((w162w[] & (! cs1a[1].sout)) & cs2a[1].sout));
	w207w = cs1a[1].sout;
	w209w = sft15a[0..0].out;
	w210w[] = le5a[].out;
	w211w[] = ( B"0", dataa_node[], B"0");
	w212w[] = ( B"0", B"0", dataa_node[]);
	w225w[] = (((! w211w[]) & cs1a[2].sout) & (! cs2a[2].sout));
	w226w[] = ((((! w212w[]) & cs1a[2].sout) & cs2a[2].sout) # ((w212w[] & (! cs1a[2].sout)) & cs2a[2].sout));
	w243w = sft15a[2..2].out;
	w245w = sft15a[3..3].out;
	w247w = sft15a[4..4].out;
	w249w = sft15a[5..5].out;
	w251w = sft15a[6..6].out;
	w253w = sft15a[7..7].out;
	w255w = sft15a[8..8].out;
	w257w = sft15a[9..9].out;
	w265w = cs1a[2].sout;
	w267w = sft19a[0..0].out;
	w268w[] = le6a[].out;
	w269w[] = ( B"0", dataa_node[], B"0");
	w270w[] = ( B"0", B"0", dataa_node[]);
	w287w = sft19a[2..2].out;
	w289w = sft19a[3..3].out;
	w291w = sft19a[4..4].out;
	w293w = sft19a[5..5].out;
	w295w = sft19a[6..6].out;
	w297w = sft19a[7..7].out;
	w299w = sft15a[10..10].out;
	w301w = sft15a[11..11].out;
	w308w[] = le7a[].out;
	w310w[] = ( B"0", dataa_node[]);
	w322w = sft23a[0..0].out;
	w324w = sft23a[1..1].out;
	w326w = sft23a[2..2].out;
	w328w = sft23a[3..3].out;
	w330w = sft23a[4..4].out;
	w332w = sft19a[8..8].out;
	w334w = sft19a[9..9].out;
	w336w = sft15a[12..12].out;
	w338w = sft15a[13..13].out;
	w341w = B"1";
	w342w = sft27a[0..0].out;
	w343w = sft23a[5..5].out;
	w344w = sft19a[10..10].out;
	w345w = sft15a[14..14].out;
	w346w = sft15a[15..15].out;
	w350w = sft15a[1..1].out;
	w351w = sft19a[1..1].out;
	w352w = sft27a[1..1].out;
	w353w = sft23a[6..6].out;
	w354w = sft27a[2..2].out;
	w355w = sft23a[7..7].out;
	w356w = sft19a[11..11].out;
	w357w = sft23a[8..8].out;
	w358w = sft19a[12..12].out;
	w359w = sft19a[13..13].out;
	w360w = sft15a[16..16].out;
	w361w = sft19a[14..14].out;
	w362w = sft15a[17..17].out;
	w365w = B"0";
	w556w[] = ( sft11a[20..19].out, 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 + -