📄 shift_taps_ekg.tdf
字号:
--altshift_taps CBX_DECLARE_ALL_CONNECTED_PORTS="OFF" DEVICE_FAMILY="Cyclone" NUMBER_OF_TAPS=12 TAP_DISTANCE=3 WIDTH=8 clock shiftin taps CARRY_CHAIN="MANUAL" CARRY_CHAIN_LENGTH=48
--VERSION_BEGIN 5.0 cbx_altdpram 2004:11:30:11:29:56:SJ cbx_altshift_taps 2004:12:13:14:36:10:SJ cbx_altsyncram 2005:11:01:19:33:48:SJ cbx_cycloneii 2004:12:20:14:28:52:SJ cbx_lpm_add_sub 2005:04:12:13:30:42:SJ cbx_lpm_compare 2004:11:30:11:30:40:SJ cbx_lpm_counter 2005:02:02:04:37:10:SJ cbx_lpm_decode 2004:12:13:14:19:12:SJ cbx_lpm_mux 2004:12:13:14:16:38:SJ cbx_mgl 2005:05:19:13:51:58:SJ cbx_stratix 2005:11:01:14:36:46:SJ cbx_stratixii 2004:12:22:13:27:12:SJ cbx_util_mgl 2005:04:04:13:50:06:SJ VERSION_END
-- Copyright (C) 1988-2005 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 altsyncram_35q (address_a[1..0], address_b[1..0], clock0, clock1, clocken0, clocken1, data_a[95..0], wren_a)
RETURNS ( q_b[95..0]);
FUNCTION add_sub_und (dataa[1..0], datab[1..0])
RETURNS ( result[1..0]);
FUNCTION cntr_0fc (clk_en, clock)
RETURNS ( q[1..0]);
--synthesis_resources = lut 6 M4K 3
SUBDESIGN shift_taps_ekg
(
clock : input;
shiftin[7..0] : input;
shiftout[7..0] : output;
taps[95..0] : output;
)
VARIABLE
altsyncram4 : altsyncram_35q;
dffe3a[1..0] : dffe;
add_sub2 : add_sub_und;
cntr1 : cntr_0fc;
clken : NODE;
rdaddress[1..0] : WIRE;
BEGIN
altsyncram4.address_a[] = cntr1.q[];
altsyncram4.address_b[] = rdaddress[];
altsyncram4.clock0 = clock;
altsyncram4.clock1 = clock;
altsyncram4.clocken0 = clken;
altsyncram4.clocken1 = clken;
altsyncram4.data_a[] = ( altsyncram4.q_b[87..0], shiftin[]);
altsyncram4.wren_a = B"1";
dffe3a[].CLK = clock;
dffe3a[].D = ( (! add_sub2.result[1..1]), add_sub2.result[0..0]);
dffe3a[].ENA = clken;
add_sub2.dataa[] = cntr1.q[];
add_sub2.datab[] = B"00";
cntr1.clk_en = clken;
cntr1.clock = clock;
clken = VCC;
rdaddress[] = ( (! dffe3a[1..1].Q), dffe3a[0..0].Q);
shiftout[7..0] = altsyncram4.q_b[95..88];
taps[] = altsyncram4.q_b[];
END;
--VALID FILE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -