?? sign_div_unsign_b9h.tdf
字號(hào):
--sign_div_unsign DEN_REPRESENTATION="SIGNED" DEN_WIDTH=16 LPM_PIPELINE=0 MAXIMIZE_SPEED=9 NUM_REPRESENTATION="SIGNED" NUM_WIDTH=16 SKIP_BITS=0 denominator numerator quotient remainder
--VERSION_BEGIN 6.0 cbx_cycloneii 2006:02:07:15:19:20:SJ cbx_lpm_abs 2006:01:02:19:20:00:SJ cbx_lpm_add_sub 2006:01:09:11:17:20:SJ cbx_lpm_divide 2006:01:18:17:01:10:SJ cbx_mgl 2006:04:14:11:14:36: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 alt_u_div_bqe (denominator[15..0], numerator[15..0])
RETURNS ( den_out[15..0], quotient[15..0], remainder[15..0]);
FUNCTION add_sub_l6c (cin, dataa[15..0], datab[15..0])
RETURNS ( result[15..0]);
FUNCTION add_sub_d2f (cin, dataa[15..0], datab[15..0])
RETURNS ( result[15..0]);
--synthesis_resources = lut 167
SUBDESIGN sign_div_unsign_b9h
(
denominator[15..0] : input;
numerator[15..0] : input;
quotient[15..0] : output;
remainder[15..0] : output;
)
VARIABLE
divider : alt_u_div_bqe;
adder : add_sub_l6c;
compl_adder1 : add_sub_d2f;
compl_adder_4 : add_sub_d2f;
adder_out[15..0] : WIRE;
den_choice[15..0] : WIRE;
gnd_wire : WIRE;
neg_num[15..0] : WIRE;
neg_quot[15..0] : WIRE;
norm_num[15..0] : WIRE;
num_choice[15..0] : WIRE;
pre_neg_den[15..0] : WIRE;
pre_neg_quot[15..0] : WIRE;
pre_quot[15..0] : WIRE;
protect_quotient[15..0] : WIRE;
protect_remainder[15..0] : WIRE;
q_is_neg : WIRE;
vcc_wire : WIRE;
zero_wire[15..0] : WIRE;
zero_wire_3[15..0] : WIRE;
BEGIN
divider.denominator[] = den_choice[];
divider.numerator[] = norm_num[];
adder.cin = gnd_wire;
adder.dataa[] = den_choice[];
adder.datab[] = protect_remainder[];
compl_adder1.cin = vcc_wire;
compl_adder1.dataa[] = (! denominator[]);
compl_adder1.datab[] = zero_wire[];
compl_adder_4.cin = vcc_wire;
compl_adder_4.dataa[] = (! pre_quot[]);
compl_adder_4.datab[] = zero_wire_3[];
adder_out[] = adder.result[];
den_choice[] = ((denominator[] & (! denominator[15..15])) # (pre_neg_den[] & denominator[15..15]));
gnd_wire = B"0";
neg_num[] = (! num_choice[]);
neg_quot[] = (! protect_quotient[]);
norm_num[] = ((num_choice[] & (! num_choice[15..15])) # (neg_num[] & num_choice[15..15]));
num_choice[] = numerator[];
pre_neg_den[] = compl_adder1.result[];
pre_neg_quot[] = compl_adder_4.result[];
pre_quot[] = ((protect_quotient[] & (! num_choice[15..15])) # (neg_quot[] & num_choice[15..15]));
protect_quotient[] = divider.quotient[];
protect_remainder[] = divider.remainder[];
q_is_neg = denominator[15..15];
quotient[] = ((pre_quot[] & (! q_is_neg)) # (pre_neg_quot[] & q_is_neg));
remainder[] = ((protect_remainder[] & (! num_choice[15..15])) # (adder_out[] & num_choice[15..15]));
vcc_wire = B"1";
zero_wire[] = B"0000000000000000";
zero_wire_3[] = B"0000000000000000";
END;
--VALID FILE
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -