SIGNAL current_state, next_state: STD_LOGIC_VECTOR(4 DOWNTO 0 ); CONSTANT st0 : STD_LOGIC_VECTOR(4 DOWNTO 0) := \ CONSTANT st1 : STD_LOGIC_VECTOR(4 DOWNTO 0) := \ CONSTANT st2 : STD_LOGIC_VECTOR(4 DOWNTO 0) := \ CONSTANT st3 : STD_LOGIC_VECTOR(4 DOWNTO 0) := \ CONSTANT st4 : STD_LOGIC_VECTOR(4 DOWNTO 0) := \ SIGNAL REGL : STD_LOGIC_VECTOR(7 DOWNTO 0);
SIGNAL LOCK: STD_LOGIC; BEGIN
ADDA<='1'; Q<=REGL; START<=current_state(4); ALE<=current_state(3); OE<=current_state(2); LOCK<=current_state(1);c_state <=current_state;
COM: PROCESS(current_state,EOC) BEGIN --规定各状态转换方式 CASE current_state IS
WHEN st0=> next_state <= st1; --0809初始化 WHEN st1=> next_state <= st2; --启动采样
WHEN st2=> IF (EOC='1') THEN next_state <= st3; --EOC=1表明转换结束
ELSE next_state <= st2; --转换未结束,继续等待
END IF ;
WHEN st3=> next_state <= st4;--开启OE,输出转换好的数据 WHEN st4=> next_state <= st0;
WHEN OTHERS => next_state <= st0; END CASE ;
END PROCESS COM ; REG: PROCESS (CLK) BEGIN
IF (CLK'EVENT AND CLK='1') THEN current_state<=next_state; END IF; END PROCESS REG ;
LATCH1: PROCESS (LOCK) -- 此进程中,在LOCK的上升沿,将转换好的数
据锁入
BEGIN
IF LOCK='1' AND LOCK'EVENT THEN REGL <= D ; END IF;
END PROCESS LATCH1 ; END behav;
其时序仿真波形如图5-5所示。改进后毛刺不复存在。
图5-5 AD0809采用改进后Moore型有限状态机控制方案的仿真时序图
6 结语
由于毛刺信号对FPGA器件的运行有很大的影响,如何有效抑制毛刺信号就成了一个非常突出的问题。但是必须强调的一点就是,我们首先必须对程序设计本身进行优化和改进,使毛刺信号的产生降低到最小,比如将一些信号用变量代替来减小延时等。另外,在实际应用中如何选用适合的方法也非常的重要,一定要慎重考虑。比如延时环节的加入会使整个系统的延时增大,加入太多时就会影响系统的运行等。
参考文献
[1]~
[2]赵艳秋,冯晓伟,冯健.FPGA应用愈加广泛,行业演进呈现三大趋势[N].中国电子报,2008,2(08):1~2. [3]
[4]楼观涛,马跃.FPGA设计中毛刺信号的产生及消除[J].电子世界,2004,20(7):22~25. [5]孙晓东.FPGA毛刺产生的原因及其抑制方法[J].唐山电视发射台,唐山063000,电脑编程技巧与维护,2010,19(9):70~76.
[6]褚振勇,翁木云.FPGA设计及应用[M].西安:西安电子科技大学出版社.2001:11~15. [7]刘一平,叶媲,凌朝东.FPGA的可靠时钟设计方案[N].华侨大学学报(自然科学版)2009,30(6):55~67.
[8]钱立旺.0.6μm CMOS 622Mb/s高速分接器设计[J].电子世界,2004,27(6):36~38. [9]杨波,高德远.RTL电路的时序优化设计[J].小型微型计算机系统,2001,22(9):20~25. [10]陈智荣.大屏幕TFT-LCD源极驱动器数据输入接口设计[J].2007,54(3):10~13. [11]~
致 谢
本论文是我在皇甫海燕老师的亲切关怀和悉心指导下完成的。她严肃的教学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。从论文题目的选择到论文各个部分的最终完成,海燕老师都始终给予我细心的指导和不懈的支持。一直以来,海燕老师不仅在学业上给我以精心指导,同时还在生活上给我以无微不至的关怀,在此谨向海燕老师致以诚挚的谢意和崇高的敬意。
在此,我还要感谢在一起愉快的度过四年大学生活的电子09-11班的同学们,正是由于你们的帮助和支持,我才能克服一个一个的困难和疑惑,直至本文的顺利完成。特别感谢我们班的党晨同学,他对于我的论文方面的编程与仿真做了不少工作,给予我很大的帮助。
在论文即将完成之际,我的心情无法平静,从开始的准备资料到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!最后我还要感谢培养我长大含辛茹苦的父母,谢谢你们!
相关推荐: