pcic_t.tdf
来自「PCI logicore,在某网站上下载的ip核文件」· TDF 代码 · 共 1,849 行 · 第 1/5 页
TDF
1,849 行
TS_DXFR,
TS_LRD_WAIT,
TS_DISC,
TS_TURN_AR).clrn = rstn;
(TS_IDLE_not,
TS_ADR_VLD,
TS_ADR_CLMD,
TS_DXFR,
TS_LRD_WAIT,
TS_DISC,
TS_TURN_AR).d = (not TS_IDLE_d,
TS_ADR_VLD_d,
TS_ADR_CLMD_d,
TS_DXFR_d,
TS_LRD_WAIT_d,
TS_DISC_d,
TS_TURN_AR_d);
TS_IDLE = not TS_IDLE_not;
TS_IDLE_d_lc = LCELL((TS_ADR_VLD and serr_sig_set)
OR (TS_TURN_AR));
TS_IDLE_d = (TS_IDLE and not targ_trig)
OR TS_IDLE_d_lc;
TS_ADR_VLD_d = (TS_IDLE and targ_trig);
TS_ADR_CLMD_d = (TS_ADR_VLD and not serr_sig_set)
OR (TS_DXFR_d_lc2
and not ((not lt_rdyn) or cfg_cyc));
------- TS_DXFR_d Optimization ----------------------------------------------------------------
-- TS_DXFR_d = (TS_ADR_CLMD and not ((retry or not lt_discn or not lt_abortn) and not cfg_cyc)
-- and ((not lt_rdyn) or cfg_cyc))
-- OR (TS_DXFR and not (not lt_abortn or not lt_discn)
-- and not (not frame and trdy_OR))
-- OR (TS_LRD_WAIT and not (not lt_abortn OR not lt_discn)
-- and LR_PXFR);
TS_DXFR_d_lc1 = LCELL((retry or not lt_discn or not lt_abortn) and not cfg_cyc);
TS_DXFR_d_lc2 = LCELL(TS_ADR_CLMD and not (TS_DXFR_d_lc1 or mstr_actv) );
TS_DXFR_d_lc3 = LCELL(TS_LRD_WAIT and not (not lt_abortn OR not lt_discn)
and LR_PXFR);
TS_DXFR_d_lc4 = LCELL(
(TS_DXFR_d_lc2
and ((not lt_rdyn) or cfg_cyc))
OR TS_DXFR_d_lc3 );
TS_DXFR_d_lc5 = LCELL(
TS_DXFR and not (not lt_abortn or not lt_discn)
);
TS_DXFR_d = TS_DXFR_d_lc4
OR (TS_DXFR_d_lc5 and not (not frame and trdy_OR));
------ TS_LRD_WAIT_d Optimization -------------------------------------------------------------
TS_LRD_WAIT_d = (TS_LRD_WAIT and not (not lt_abortn OR not lt_discn)
and not LR_PXFR);
----- TS_DISC_d Optimization ------------------------------------------------------------------
-- TS_DISC_d = (TS_ADR_CLMD and ((retry or not lt_discn or not lt_abortn) and not cfg_cyc))
-- OR (TS_DXFR and (not lt_abortn or not lt_discn))
-- OR (TS_LRD_WAIT and (not lt_abortn OR not lt_discn))
-- OR (TS_DISC and not (not frame));
TS_DISC_d = LCELL(
(TS_ADR_CLMD and (((retry or not lt_discn or not lt_abortn) and not cfg_cyc) or mstr_actv))
OR (TS_DXFR and (not lt_abortn or not lt_discn))
OR (TS_LRD_WAIT and (not lt_abortn OR not lt_discn))
)
OR (TS_DISC and not (not frame));
------ TS_TURN_AR_d Optimization ---------------------------------------------------------------
-- TS_TURN_AR_d = (TS_DXFR and not (not lt_abortn or not lt_discn)
-- and (not frame and trdy_OR))
-- OR (TS_DISC and (not frame));
TS_TURN_AR_d = (LCELL(
(TS_DXFR and not (not lt_abortn or not lt_discn))
)
and (not frame and trdy_OR)
)
OR (TS_DISC and (not frame));
-- Target Write State Machine
(LW_IDLE_not,
LW_LXFR,
LW_WAIT,
LW_DONE).clk = clk;
(LW_IDLE_not,
LW_LXFR,
LW_WAIT,
LW_DONE).clrn = rstn;
(LW_IDLE_not,
LW_LXFR,
LW_WAIT,
LW_DONE).d = (not LW_IDLE_d,
LW_LXFR_d,
LW_WAIT_d,
LW_DONE_d);
LW_IDLE = not LW_IDLE_not;
LW_IDLE_d = (LW_IDLE and not (TS_ADR_CLMD and not lt_rdyn and not cfg_cyc and wr_rdn and not serr_sig_set and lt_abortn and not retry))
OR (LW_DONE);
-------- LW_LXFR_d Optimization ---------------------------------------------------------
-- LW_LXFR_d = (LW_IDLE and (TS_ADR_CLMD and not lt_rdyn and not cfg_cyc and wr_rdn and not serr_sig_set and lt_abortn and not retry))
-- OR (LW_LXFR and not (not lt_rdyn and not TS_DXFR and TS_DISC and irdy) and not (TS_TURN_AR) and not (lt_rdyn and irdy))
-- OR (LW_WAIT and not (data_timeout_error) and not (lt_rdyn) and not (not lt_rdyn AND not TS_DXFR));
LW_LXFR_d = LCELL(
(LW_IDLE and (TS_ADR_CLMD and not lt_rdyn and not cfg_cyc and wr_rdn and not serr_sig_set and lt_abortn and not retry))
OR (LW_WAIT and not (data_timeout_error) and not (lt_rdyn) and not (not lt_rdyn AND not TS_DXFR))
-- OR (LW_LXFR and not (TS_TURN_AR) and not (not lt_rdyn and not TS_DXFR and TS_DISC and irdy) and not (lt_rdyn and irdy));
-- OR (LW_LXFR and not TS_TURN_AR and (lt_rdyn OR NOT TS_DISC OR NOT irdy) and (NOT lt_rdyn OR NOT irdy));
-- OR (LW_LXFR and not TS_TURN_AR and lt_rdyn and NOT lt_rdyn );
-- OR (LW_LXFR and not TS_TURN_AR and NOT TS_DISC and NOT lt_rdyn );
-- OR (LW_LXFR and not TS_TURN_AR and NOT irdy and NOT lt_rdyn );
-- OR (LW_LXFR and not TS_TURN_AR and lt_rdyn and NOT irdy);
-- OR (LW_LXFR and not TS_TURN_AR and NOT TS_DISC and NOT irdy);
-- OR (LW_LXFR and not TS_TURN_AR and NOT irdy and NOT irdy);
-- OR (LW_LXFR and not TS_TURN_AR and NOT TS_DISC and NOT lt_rdyn );
-- OR (LW_LXFR and not TS_TURN_AR and NOT TS_DISC and NOT irdy);
-- OR (LW_LXFR and not TS_TURN_AR and NOT irdy);
OR (LW_LXFR and not TS_TURN_AR and NOT TS_DISC and NOT lt_rdyn )
)
OR (LW_LXFR and not TS_TURN_AR and NOT irdy );
--------- LW_WAIT_d Optimization ---------------------------------------------------------
-- LW_WAIT_d = (LW_LXFR and not (not lt_rdyn and not TS_DXFR and TS_DISC and irdy) and not (TS_TURN_AR) and (lt_rdyn and irdy and not TS_DISC))
-- OR (LW_WAIT and not (data_timeout_error) and (lt_rdyn));
LW_WAIT_d = LCELL(
(LW_WAIT and not (data_timeout_error) and (lt_rdyn))
)
-- OR (LW_LXFR and not (TS_TURN_AR) and (lt_rdyn or not TS_DISC or not irdy) and (lt_rdyn and irdy and not TS_DISC)) ;
-- OR (LW_LXFR and not (TS_TURN_AR) and (lt_rdyn and lt_rdyn and irdy)) ;
-- OR (LW_LXFR and not (TS_TURN_AR) and (not TS_DISC and lt_rdyn and irdy)) ;
-- OR (LW_LXFR and not (TS_TURN_AR) and (not irdy and lt_rdyn and irdy)) ;
-- OR (LW_LXFR and not (TS_TURN_AR) and (lt_rdyn and irdy)) ;
-- OR (LW_LXFR and not (TS_TURN_AR) and (not TS_DISC and lt_rdyn and irdy)) ;
OR LCELL(
(LW_LXFR and not TS_TURN_AR and lt_rdyn and not TS_DISC)
) and irdy ;
---------- LW_DONE_d Optimization -------------------------------------------------------
-- LW_DONE_d = (LW_LXFR and ((not lt_rdyn and not TS_DXFR and TS_DISC and irdy) or TS_TURN_AR))
-- OR (LW_WAIT and (data_timeout_error or (not lt_rdyn AND not TS_DXFR)) and not (lt_rdyn));
-- LW_DONE_d = (LW_WAIT and (data_timeout_error or (not lt_rdyn AND not TS_DXFR)) and not (lt_rdyn))
-- OR (LW_LXFR and ((not lt_rdyn and TS_DISC and irdy) or TS_TURN_AR));
LW_DONE_d = LCELL(
(LW_WAIT and not (lt_rdyn) and data_timeout_error )
OR (LW_WAIT and not (lt_rdyn) AND not TS_DXFR )
OR (LW_LXFR and TS_TURN_AR)
)
OR LCELL(
(LW_LXFR and not lt_rdyn and TS_DISC)
) and irdy;
-- Target Read State Machine
(LR_IDLE_not,
-- LR_PXFR,
LR_LXFR,
LR_WAIT,
LR_DONE,
-- LR_PXFR_32,
LR_WAIT_32).clk = clk;
(LR_IDLE_not,
-- LR_PXFR,
LR_LXFR,
LR_WAIT,
LR_DONE,
-- LR_PXFR_32,
LR_WAIT_32).clrn = rstn;
(LR_IDLE_not,
-- LR_PXFR,
LR_LXFR,
LR_WAIT,
LR_DONE,
-- LR_PXFR_32,
LR_WAIT_32).d = ( not LR_IDLE_d,
-- LR_PXFR_d,
LR_LXFR_d,
LR_WAIT_d,
LR_DONE_d,
-- LR_PXFR_32_d,
LR_WAIT_32_d);
LR_IDLE = not LR_IDLE_not;
LR_IDLE_d = (LR_IDLE and not (TS_ADR_VLD and not wr_rdn and not cfg_cyc and not retry and not serr_sig_set and lt_abortn and lt_discn) )
OR (LR_DONE);
-------- LR_LXFR_d Optimization ----------------------------------------------------------------
-- LR_LXFR_d = (LR_IDLE and (TS_ADR_VLD and not wr_rdn and not cfg_cyc and not retry and not serr_sig_set and lt_abortn and lt_discn ))
-- OR (LR_LXFR and not (not lt_abortn or not lt_discn OR TS_DISC) and not (not lt_rdynR and direct_xfr) and not (not lt_rdynR and not direct_xfr))
-- OR (LR_PXFR and not (not lt_abortn or not frame or TS_DISC) and not (not irdy and not lt_rdynR and direct_xfr) and (irdy and lt_rdynR));
--LR_PXFR_32_hi_low_sel_lc1 = LCELL((not ad_ir_address2 and not dac_sr.q) or (not hi_adr_hr2 and dac_sr.q));
--LR_PXFR_32_hi_low_sel_lc2 = LCELL((ad_ir_address2 and not dac_sr.q) or (hi_adr_hr2 and dac_sr.q));
--LR_PXFR_32_r1_lc1 = LCELL( (not lt_rdynR and LR_PXFR_32_hi_low_sel_lc1) or (not lt_rdynR_R and LR_PXFR_32_hi_low_sel_lc2));
LR_LXFR_d_lc1 = LCELL(not (not lt_rdynR and direct_xfr) and not (not lt_rdynR and lt_ldata_ack and not direct_xfr));
LR_LXFR_d_lc2 = LCELL(LR_LXFR and (lt_abortn AND lt_discn AND NOT TS_DISC));
LR_LXFR_d_lc3 = LCELL( not retry and not serr_sig_set and lt_abortn and lt_discn);
LR_LXFR_d_lc4 = LCELL(LR_IDLE and TS_ADR_VLD and not wr_rdn and not cfg_cyc);
LR_LXFR_d_lc5 = LCELL(
(LR_LXFR_d_lc4 and LR_LXFR_d_lc3)
OR (LR_LXFR_d_lc2 and LR_LXFR_d_lc1)
);
LR_LXFR_d_lc6 = LCELL(
(LR_PXFR and lt_rdynR and lt_abortn and not TS_DISC)
);
LR_LXFR_d = LR_LXFR_d_lc5
-- OR (LR_PXFR and not (not lt_abortn or not frame or TS_DISC) and not (not irdy and not lt_rdynR and direct_xfr) and (irdy and lt_rdynR));
-- OR (LR_PXFR and (lt_abortn and frame and not TS_DISC) and (irdy or lt_rdynR or not direct_xfr) and (irdy and lt_rdynR));
-- OR (LR_PXFR and (irdy and lt_rdynR) and (lt_abortn and frame and not TS_DISC) and (irdy or lt_rdynR or not direct_xfr) );
-- OR (LR_PXFR and lt_rdynR and lt_abortn and not TS_DISC and frame and irdy );
-- OR (LR_PXFR and lt_rdynR and lt_abortn and not TS_DISC and frame and irdy and not direct_xfr );
OR (LR_LXFR_d_lc6 and frame and irdy) ;
------- LR_PXFR_32_d Optimization --------------------------------------------------------------
%
LR_PXFR_32_d = --(LR_LXFR and not (not lt_abortn or not lt_discn OR TS_DISC) and not (not lt_rdynR and direct_xfr) and (not lt_rdynR and not direct_xfr) )
-- OR (LR_PXFR_32 and not (not lt_abortn OR not frame) and not (irdy))
-- OR (LR_PXFR and not (not lt_abortn or not frame or TS_DISC) and not (not irdy and not lt_rdynR and direct_xfr) and not (irdy and lt_rdynR) and not (not irdy and not lt_rdynR and not direct_xfr) and (irdy and not lt_rdynR and not direct_xfr) )
-- OR (LR_WAIT_32 and not (not lt_abortn or not frame) and (irdy));
-- (LR_LXFR and (lt_abortn and lt_discn and not TS_DISC) and (lt_rdynR or not direct_xfr) and (not lt_rdynR and not direct_xfr) )
-- (LR_LXFR and lt_abortn and lt_discn and not TS_DISC and not lt_rdynR and not direct_xfr and lt_rdynR )
LCELL(
(LR_LXFR and lt_abortn and lt_discn and not TS_DISC and not lt_rdynR and not direct_xfr )
)
OR (LCELL(
(LR_PXFR_32 and lt_abortn)
) and frame and not irdy) -- END of 2nd LCELL
OR (LCELL(
(LR_WAIT_32 and lt_abortn)
-- OR (LR_PXFR and (lt_abortn and not TS_DISC and not lt_rdynR and not direct_xfr and frame and irdy)
-- and (irdy or lt_rdynR or not direct_xfr)
-- and (not irdy or not lt_rdynR)
-- and (irdy or lt_rdynR or direct_xfr)
OR (LR_PXFR and (lt_abortn and not TS_DISC and not lt_rdynR and not direct_xfr))
) and frame and irdy);-- END of 3rd LCELL
-- and (irdy or lt_rdynR or not direct_xfr)
-- and (not irdy or not lt_rdynR)
-- and (irdy or lt_rdynR or direct_xfr)
%
--------- LR_PXFR_32 Register-OR Optimization --------------------------------------------------------------
LR_PXFR_32_r1.clk = clk;
LR_PXFR_32_r1.clrn = rstn;
--LR_PXFR_32_hi_low_sel_lc1 = LCELL((not ad_ir_address2 and not dac_sr.q) or (not hi_adr_hr2 and dac_sr.q));
--LR_PXFR_32_hi_low_sel_lc2 = LCELL((ad_ir_address2 and not dac_sr.q) or (hi_adr_hr2 and dac_sr.q));
--LR_PXFR_32_r1_lc1 = LCELL( (not lt_rdynR and LR_PXFR_32_hi_low_sel_lc1) or (not lt_rdynR_R and LR_PXFR_32_hi_low_sel_lc2));
LR_PXFR_32_r1_d_lc1 = LCELL(not TS_DISC and not lt_rdynR and lt_abortn and not direct_xfr);
LR_PXFR_32_r1_d_lc2 = LCELL(
(LR_LXFR and lt_discn and LR_PXFR_32_r1_d_lc1 and lt_ldata_ack )
-- or (LR_PXFR_32 and not trdy_or)
);
LR_PXFR_32_r1_d_lc3 = LCELL(
(LR_PXFR_32 and lt_abortn)
);
LR_PXFR_32_r1_d = LR_PXFR_32_r1_d_lc2
OR (LR_PXFR_32_r1_d_lc3 and frame and not irdy); -- END of 2nd LCELL
LR_PXFR_32_r1.d = LR_PXFR_32_r1_d;
LR_PXFR_32_r2.clk = clk;
LR_PXFR_32_r2.clrn = rstn;
LR_PXFR_32_r2_d_lc1 = LCELL(
(LR_WAIT_32 and lt_abortn)
OR (LR_PXFR and LR_PXFR_32_r1_d_lc1)
);
LR_PXFR_32_r2_d = (LR_PXFR_32_r2_d_lc1 and frame and irdy);-- END of 3rd LCELL
LR_PXFR_32_r2.d = LR_PXFR_32_r2_d;
LR_PXFR_32 = LR_PXFR_32_r1.q OR LR_PXFR_32_r2.q;
LR_PXFR_32_d = LR_PXFR_32_r1_d OR LR_PXFR_32_r2_d;
-------- LR_PXFR_d Optimization ----------------------------------------------------------------
--LR_PXFR_d = (LR_LXFR and not (not lt_abortn or not lt_discn OR TS_DISC) and (not lt_rdynR and direct_xfr))
-- OR (LR_PXFR_32 and not (not lt_abortn OR not frame) and (irdy))
-- OR (LR_PXFR and not (not lt_abortn or not frame or TS_DISC) and not (not irdy and not lt_rdynR and direct_xfr) and not (irdy and lt_rdynR) and not (not irdy and not lt_rdynR and not direct_xfr) and not (irdy and not lt_rdynR and not direct_xfr) )
-- OR (LR_WAIT and not (not lt_abortn or not frame) and (irdy) ) ;
--jot LR_PXFR_d = LCELL(
--jot (LR_LXFR and lt_abortn and lt_discn and not TS_DISC and not lt_rdynR and direct_xfr)
--jot )
--jot OR (LCELL(
--jot (LR_PXFR_32 and lt_abortn)
-- OR (LR_PXFR and (lt_abortn and frame and not TS_DISC) and (irdy or lt_rdynR or not direct_xfr) and (not irdy or not lt_rdynR) and (irdy or lt_rdynR or direct_xfr) and (not irdy or lt_rdynR or direct_xfr) )
--jot OR (LR_WAIT and lt_abortn)
-- OR (LR_PXFR and (lt_abortn and frame and not TS_DISC)
-- and (irdy or lt_rdynR or not direct_xfr)
-- and (not irdy or not lt_rdynR)
-- and (irdy or lt_rdynR or direct_xfr)
-- and (not irdy or lt_rdynR or direct_xfr) )
-- OR (LR_PXFR and (lt_abortn and frame and not TS_DISC)
-- and (irdy or lt_rdynR or not direct_xfr)
-- and (not irdy or not lt_rdynR)
-- and (lt_rdynR or direct_xfr)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?