专题三:系列检测器及系列脉冲发生器设计教材_第1页
专题三:系列检测器及系列脉冲发生器设计教材_第2页
专题三:系列检测器及系列脉冲发生器设计教材_第3页
专题三:系列检测器及系列脉冲发生器设计教材_第4页
专题三:系列检测器及系列脉冲发生器设计教材_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、专题三:系列脉冲检测器及系列脉冲发生器 一、教学内容:系列脉冲检测器及系列脉冲发生器一、教学内容:系列脉冲检测器及系列脉冲发生器 二、教学目的及要求:二、教学目的及要求: 1、掌握、掌握VHDL语言的基本结构及编程思想。语言的基本结构及编程思想。 2、掌握系列脉冲检测器及系列脉冲发生器的设、掌握系列脉冲检测器及系列脉冲发生器的设计方法。计方法。三、授课课时:三、授课课时:4课时课时 设计要求:1、设计一个、设计一个8位系列脉冲检测器。位系列脉冲检测器。 要求所检测系列可预置,检测到与预置的系列码相同的系列,要求所检测系列可预置,检测到与预置的系列码相同的系列,输出输出“A”,否则输出,否则输出

2、“B”。2、设计一个系列脉冲发生器。所产生的系列可以预置。、设计一个系列脉冲发生器。所产生的系列可以预置。 (并行串行数据转换)(并行串行数据转换) (脉冲发生器)(脉冲发生器)一、系列脉冲检测器比较器(将接受到的DIN,在clk控制下与DI进行比较,只有在连续8个时钟下比较的结果均相同,则输出“A”。D7.0DIN(串行码输入)CLKAB方法一:方法一:思考:假如时钟不同,思考:假如时钟不同,DIN和和D7.0不变,检测结果还相同吗?不变,检测结果还相同吗?方法一参考程序:方法一参考程序:LIBRARY ieee; USE ieee.std_logic_1164.all;USE ieee.s

3、td_logic_unsigned.all;ENTITY xljcq ISPORT( clk,clr,din : IN STD_LOGIC; D: in std_logic_vector(7 downto 0); ab : out std_logic_vector(3 downto 0);END xljcq;ARCHITECTURE a OF xljcq IS signal Q: integer range 0 to 8; -记录比较的次数记录比较的次数BEGIN process(clk,clr) begin if clr=1 then Q if din=D(7) then Q=1; else

4、 Q if din=D(6) then Q=2; else Q if din=D(5) then Q=3; else Q if din=D(4) then Q=4; else Q if din=D(3) then Q=5; else Q if din=D(2) then Q=6; else Q if din=D(1) then Q=7; else Q if din=D(0) then Q=8; else Q Q=0; end case;End if;End process;Process(Q)Begin if Q=8 then AB=“1010”; else AB=“1011”; end if

5、;End process;End a;仿真结果:仿真结果:一、系列脉冲检测器可预置系列码存储单元比较器(将接受到的DIN,在clk控制下与DI进行比较,只有在连续8个时钟下比较的结果均相同,则输出“A”。D7.0LOADDIN(串行码输入)CLKAB方法二:方法二:QQ方法二参考程序:方法二参考程序:LIBRARY ieee; USE ieee.std_logic_1164.all;USE ieee.std_logic_unsigned.all;ENTITY xljcq ISPORT( clk,clr,din,load : IN STD_LOGIC; DD: in std_logic_vect

6、or(7 downto 0); ab : out std_logic_vector(3 downto 0);END xljcq;ARCHITECTURE a OF xljcq IS signal Q: integer range 0 to 8; signal D: std_logic_vector(7 downto 0);BEGIN process(clk,clr,load) begin if clr=1 then Q=0; elsif clkevent and clk=1 then if load=1 then D if din=D(7) then Q=1; else Q if din=D(

7、6) then Q=2; else Q if din=D(5) then Q=3; else Q if din=D(4) then Q=4; else Q if din=D(3) then Q=5; else Q if din=D(2) then Q=6; else Q if din=D(1) then Q=7; else Q if din=D(0) then Q=8; else Q Q=0; end case;End if;End if;End process;Process(Q)Begin if Q=8 then AB=“1010”; else AB=“1011”; end if;End

8、process;End a;一、系列脉冲检测器可预置系列码存储单元比较器(将接受到的DIN,在clk控制下与DI进行比较,只有在连续8个时钟下比较的结果均相同,则输出“A”。D7.0LOADDIN(串行码输入)状态机CLKAB接单脉冲按钮方法三:方法三:S0S1S2S3S5S6S7S4DIN=D(7),AB=“B”DIN=D(6) ,AB=“B”DIN=D(5) ,AB=“B”DIN=D(4), AB=“B”DIN=D(3), AB=“B”DIN=D(2) AB=“B”DIN=D(1) AB=“B”DIN=D(0) AB=“A”DIN不等于DI,AB=“B”LIBRARY ieee; USE

9、ieee.std_logic_1164.all;USE ieee.std_logic_unsigned.all;ENTITY xljcq ISPORT( clk,clr,din : IN STD_LOGIC; ab : out std_logic_vector(3 downto 0);END xljcq;ARCHITECTURE a OF xljcq IS type states is (s0,s1,s2,s3,s4,s5,s6,s7); signal current_states,next_states:states; BEGINreg:process(clk) begin if clkev

10、ent and clk=1 then current_states=next_states; end if; end process; com:process(clr,din,current_states,next_states) begin方法三参考程序:方法三参考程序:if clr=1 then next_states=s0;ab ab=1011;if din=1 then next_states=s1; else next_states ab=1011;if din=1 then next_states=s2; else next_states ab=1011;if din=0 then

11、 next_states=s3; else next_states ab=1011;if din=1 then next_states=s4; else next_states ab=1011;if din=1 then next_states=s5; else next_states ab=1011;if din=1 then next_states=s6; else next_states ab=1011;if din=0 then next_states=s7; else next_states if din=1 then next_states=s0;ab=1010; else nex

12、t_states=s0; abnext_states=s0; ab=1011; end case; end if; end process; END a; 思考题:思考题: 上例中为固定检测上例中为固定检测“110111101”系列码的程序,如系列码的程序,如何将其修改为系列码可以预置的?何将其修改为系列码可以预置的?二、系列脉冲发生器设计(串行输出)系列码存储器系列码存储器LOAD右移移位器右移移位器CLK系列码输出D7.0LIBRARY ieee; USE ieee.std_logic_1164.all;USE ieee.std_logic_unsigned.all;ENTITY xlmout ISPORT( clk,load : IN STD_LOGIC; d: in std_logic_vector(7 downto 0) dout:in std_logic);END xlmout ;ARCHITECTURE a OF

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论