⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 str_filter.tdf

📁 《FPGA嵌入式应用系统开发典型实例》-书的光盘资料
💻 TDF
字号:
%
本程序完成位定时徘徊滤波器
%
SUBDESIGN STR_FILTER
(
	CLK:				INPUT;
	BW_CTRL:			INPUT;
	FILTER_IN:			INPUT;
	FILTER_CLR:			INPUT;
	FACTOR[3..0]: 		OUTPUT;
	LOAD:				OUTPUT;
  )
VARIABLE
	COUNT[5..0]			:DFF;
    FACTOR[3..0]		:DFF;
	DALTA[2..0]			:SOFT;
	LOAD				:DFF;
BEGIN
	COUNT[].CLK=CLK;
	FACTOR[3..0].CLK=CLK;
	LOAD.CLK = CLK;

	IF BW_CTRL==1 THEN 	--带宽控制
		DALTA[]=1;
	ELSE 
		DALTA[]=3;
	END IF;
 
	IF (FILTER_CLR==0) # (COUNT[].Q>=59) # (COUNT[].Q<=3) THEN
		COUNT[].D=31;
	ELSIF FILTER_IN==1 THEN 
		COUNT[].D=COUNT[].Q+(0,0,0,DALTA[]);
	ELSIF FILTER_IN==0 THEN 
		COUNT[].D=COUNT[].Q-(0,0,0,DALTA[]);
	END IF;

	IF  COUNT[].Q>=59 THEN 
		FACTOR[].D = 8;
		LOAD.D = VCC;
	ELSIF COUNT[].Q<=3 THEN
		FACTOR[].D = 6 ;
		LOAD.D = VCC;
	ELSE 
		FACTOR[]= 7;
		LOAD.D = GND;
	END IF;
END;

%  
鉴相器指示
1 本地超前
0 本地滞后

滤波器输出
LOAD=0 无需调整
LOAD=1 需要调整
FACTOR = 7	收发时钟同步
FACTOR = 6  本地时钟滞后
FACTOR = 8	本地时钟超前
%

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -