filt_tpl.tdf
来自「《FPGA嵌入式应用系统开发典型实例》-书的光盘资料」· TDF 代码 · 共 69 行
TDF
69 行
TITLE "SISO Digital Filter Template";
%////////////////////////////
// USER-DEFINED PARAMETERS //
////////////////////////////%
PARAMETERS
(
NUM_STAGES = 2
);
%/////////////////////
// INPUTS & OUTPUTS //
/////////////////////%
SUBDESIGN filt_tpl
(
CLK, F_IN : INPUT;
RESET : INPUT=GND;
PRESET : INPUT=GND;
F_OUT : OUTPUT;
)
%/////////////////////////
// VARIABLE DEFINITIONS //
/////////////////////////%
VARIABLE
FF[(NUM_STAGES - 1)..0] : DFF;
SYNC : DFFE;
FAND[(NUM_STAGES-1)..0], FBAND[(NUM_STAGES-1)..0] : NODE;
%//////////////////
// LOGIC SECTION //
//////////////////%
BEGIN
FF[].clk=CLK;
FF[].clrn=!RESET;
FF[].prn=!PRESET;
SYNC.clk=CLK;
SYNC.clrn=!RESET;
SYNC.prn=!PRESET;
FF[0].d=F_IN ;
FOR i IN 1 TO NUM_STAGES-1 GENERATE
FF[i].d=FF[i-1].q;
END GENERATE;
FAND[0] = FF[0].q;
FBAND[0] = FF[0].q;
FOR i IN 1 TO NUM_STAGES-1 GENERATE
FAND[i] = FAND[i-1] AND FF[i].q;
FBAND[i] = FBAND[i-1] OR FF[i].q;
END GENERATE;
SYNC.d=FF[(NUM_STAGES-1)].q;
SYNC.ena=FAND[(NUM_STAGES-1)] OR NOT FBAND[(NUM_STAGES-1)];
F_OUT=SYNC.q;
END;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?