www.pudn.com > NCO.rar > cntr_lpf.tdf, change:2010-05-05,size:3832b
--lpm_counter CBX_DECLARE_ALL_CONNECTED_PORTS="OFF" DEVICE_FAMILY="Cyclone III" lpm_direction="UP" lpm_modulus=26 lpm_port_updown="PORT_UNUSED" lpm_width=5 clk_en clock q --VERSION_BEGIN 9.0 cbx_cycloneii 2008:05:19:10:57:37:SJ cbx_lpm_add_sub 2008:12:09:22:11:50:SJ cbx_lpm_compare 2009:02:03:01:43:16:SJ cbx_lpm_counter 2008:05:19:10:42:20:SJ cbx_lpm_decode 2008:05:19:10:39:27:SJ cbx_mgl 2009:01:29:16:12:07:SJ cbx_stratix 2008:09:18:16:08:35:SJ cbx_stratixii 2008:11:14:16:08:42:SJ VERSION_END -- Copyright (C) 1991-2009 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 cycloneiii_lcell_comb (cin, dataa, datab, datac, datad) WITH ( DONT_TOUCH, LUT_MASK, SUM_LUTC_INPUT) RETURNS ( combout, cout); FUNCTION cmpr_ifc (dataa[4..0], datab[4..0]) RETURNS ( aeb); --synthesis_resources = lut 5 reg 5 SUBDESIGN cntr_lpf ( clk_en : input; clock : input; q[4..0] : output; ) VARIABLE counter_comb_bita0 : cycloneiii_lcell_comb WITH ( LUT_MASK = "5A90", SUM_LUTC_INPUT = "cin" ); counter_comb_bita1 : cycloneiii_lcell_comb WITH ( LUT_MASK = "5A90", SUM_LUTC_INPUT = "cin" ); counter_comb_bita2 : cycloneiii_lcell_comb WITH ( LUT_MASK = "5A90", SUM_LUTC_INPUT = "cin" ); counter_comb_bita3 : cycloneiii_lcell_comb WITH ( LUT_MASK = "5A90", SUM_LUTC_INPUT = "cin" ); counter_comb_bita4 : cycloneiii_lcell_comb WITH ( LUT_MASK = "5A90", SUM_LUTC_INPUT = "cin" ); counter_reg_bit[4..0] : dffeas; cmpr6 : cmpr_ifc; aclr_actual : WIRE; cnt_en : NODE; compare_result : WIRE; cout_actual : WIRE; data[4..0] : NODE; external_cin : WIRE; modulus_bus[4..0] : WIRE; modulus_trigger : WIRE; s_val[4..0] : WIRE; safe_q[4..0] : WIRE; sclr : NODE; sload : NODE; sset : NODE; time_to_clear : WIRE; updown_dir : WIRE; BEGIN counter_comb_bita[4..0].cin = ( counter_comb_bita[3..0].cout, external_cin); counter_comb_bita[4..0].dataa = ( counter_reg_bit[4..0].q); counter_comb_bita[4..0].datab = ( updown_dir, updown_dir, updown_dir, updown_dir, updown_dir); counter_comb_bita[4..0].datad = ( B"1", B"1", B"1", B"1", B"1"); counter_reg_bit[].asdata = ((! sclr) & ((sset & s_val[]) # ((! sset) & ((sload & data[]) # (((! sload) & modulus_bus[]) & (! updown_dir)))))); counter_reg_bit[].clk = clock; counter_reg_bit[].clrn = (! aclr_actual); counter_reg_bit[].d = ( counter_comb_bita[4..0].combout); counter_reg_bit[].ena = (clk_en & (((sclr # sset) # sload) # cnt_en)); counter_reg_bit[].sload = (((sclr # sset) # sload) # modulus_trigger); cmpr6.dataa[] = safe_q[]; cmpr6.datab[] = modulus_bus[]; aclr_actual = B"0"; cnt_en = VCC; compare_result = cmpr6.aeb; cout_actual = (counter_comb_bita[4].cout # (time_to_clear & updown_dir)); data[] = GND; external_cin = B"1"; modulus_bus[] = B"11001"; modulus_trigger = cout_actual; q[] = safe_q[]; s_val[] = B"11111"; safe_q[] = counter_reg_bit[].q; sclr = GND; sload = GND; sset = GND; time_to_clear = compare_result; updown_dir = B"1"; END; --VALID FILE