📄 scfifo_a9d1.tdf
字号:
--scfifo ADD_RAM_OUTPUT_REGISTER="ON" ALLOW_RWCYCLE_WHEN_FULL="OFF" ALMOST_EMPTY_VALUE=1 ALMOST_FULL_VALUE=3 DEVICE_FAMILY="Stratix" LPM_NUMWORDS=5 LPM_SHOWAHEAD="OFF" lpm_width=32 lpm_widthu=3 OPTIMIZE_FOR_SPEED=5 OVERFLOW_CHECKING="OFF" UNDERFLOW_CHECKING="OFF" USE_EAB="ON" aclr almost_full clock data empty q rdreq sclr usedw wrreq CARRY_CHAIN="MANUAL" CARRY_CHAIN_LENGTH=70 CYCLONEII_M4K_COMPATIBILITY="ON" LOW_POWER_MODE="AUTO" lpm_hint="RAM_BLOCK_TYPE=Auto" RAM_BLOCK_TYPE="AUTO"
--VERSION_BEGIN 6.1 cbx_altdpram 2006:11:03:15:22:16:SJ cbx_altsyncram 2006:11:03:10:29:54:SJ cbx_cycloneii 2006:09:29:19:03:26:SJ cbx_fifo_common 2006:03:14:10:59:42:SJ cbx_lpm_add_sub 2006:10:10:22:03:24:SJ cbx_lpm_compare 2006:04:25:14:54:12:SJ cbx_lpm_counter 2006:11:07:16:43:46:SJ cbx_lpm_decode 2006:04:25:15:10:18:SJ cbx_lpm_mux 2006:04:25:15:10:08:SJ cbx_mgl 2006:10:27:16:08:48:SJ cbx_scfifo 2006:10:16:20:17:00:SJ cbx_stratix 2006:09:18:10:47:42:SJ cbx_stratixii 2006:10:13:14:01:30:SJ cbx_stratixiii 2006:10:19:19:28:28:SJ cbx_util_mgl 2006:11:03:10:32:30: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 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 a_dpfifo_f051 (aclr, clock, data[31..0], rreq, sclr, wreq)
RETURNS ( empty, q[31..0], usedw[2..0]);
--synthesis_resources = lut 22 ram_bits (AUTO) 256
SUBDESIGN scfifo_a9d1
(
aclr : input;
almost_full : output;
clock : input;
data[31..0] : input;
empty : output;
q[31..0] : output;
rdreq : input;
sclr : input;
usedw[2..0] : output;
wrreq : input;
)
VARIABLE
dpfifo : a_dpfifo_f051;
dffe_af : dffe;
comparison_af0 : WIRE;
comparison_af1 : WIRE;
comparison_af2 : WIRE;
comparison_pre_af0 : WIRE;
comparison_pre_af1 : WIRE;
comparison_pre_af2 : WIRE;
wire_af[2..0] : WIRE;
wire_pre_af[2..0] : WIRE;
BEGIN
dpfifo.aclr = aclr;
dpfifo.clock = clock;
dpfifo.data[] = data[];
dpfifo.rreq = rdreq;
dpfifo.sclr = sclr;
dpfifo.wreq = wrreq;
dffe_af.clk = clock;
dffe_af.clrn = (! aclr);
dffe_af.d = ((dffe_af.q & (dffe_af.q $ (sclr # ((comparison_af2 & (! wrreq)) & rdreq)))) # ((! dffe_af.q) & ((((! sclr) & comparison_pre_af2) & wrreq) & (! rdreq))));
almost_full = dffe_af.q;
comparison_af0 = (dpfifo.usedw[0..0] $ wire_af[0..0]);
comparison_af1 = ((dpfifo.usedw[1..1] $ wire_af[1..1]) & comparison_af0);
comparison_af2 = ((dpfifo.usedw[2..2] $ wire_af[2..2]) & comparison_af1);
comparison_pre_af0 = (dpfifo.usedw[0..0] $ wire_pre_af[0..0]);
comparison_pre_af1 = ((dpfifo.usedw[1..1] $ wire_pre_af[1..1]) & comparison_pre_af0);
comparison_pre_af2 = ((dpfifo.usedw[2..2] $ wire_pre_af[2..2]) & comparison_pre_af1);
empty = dpfifo.empty;
q[] = dpfifo.q[];
usedw[] = dpfifo.usedw[];
wire_af[] = ( B"1", B"0", B"0");
wire_pre_af[] = ( B"1", B"0", B"1");
END;
--VALID FILE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -