下载此文档

北京邮电大学数电实验第四周实验报告.doc


文档分类:研究报告 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
实验名称和实验任务要求:
实验名称:序列信号检测器的设计与实现
实验所使用仪器与元器件:1)计算机;2)直流稳压电源(实际使用时用拨码开关作为输入序列);3)数字系统与逻辑设计实验开发板
试验任务要求:用VHDL语言设计实现一个序列信号检测器,当检测到“101”时,输出为‘1’,其他情况输出为‘0’,仿真验证其功能,并下载到实验班上进行测试。
实验目的:1)熟悉用VHDL语言设计时序逻辑电路的方法。
2)熟悉序列信号检测器的设计方法
3)了解状态机的设计方法
设计思路和过程:
设计思路如下:1)明确设计对象的外部特征,即输入信号有:接收到的序列信号input,以及时钟信号clk;输出信号有检测结果f。
2)根据设计对象的操作控制步来确定有限状态机的
状态:初始状态为S0,接受到‘1’为状态S1,接收到‘10’为状态S2,连续接收到状态‘101’为S3。
3)画出状态转移图,并根据其设计代码,图见下页
QUARTUS Ⅱ根据代码所生成的状态转移图:
设计过程,参考书本P76的代码,设计实验14的VHDL代码,并在QUARTUS上运行检验。运行出波形后观察是否能检测序列“101”
QUARTUS Ⅱ所生成的器件图形:
由QUARTUS Ⅱ所生成的原件图可知该程序是制作两个输入一个输出的序列检测器,其中两个输入为时钟信号clk,以及序列信号input,输出为结果的显示F。
VHDL代码以及注释
library ieee;
use ;
entity d_101 is
port(clk,input:in std_logic;
f:out std_logic);
end d_101; --定义这两个信号用于指定状态机
architecture moore of d_101 is
type state_type is(s0,s1,s2,s3);
signal current_state,next_state:state_type;
begin

P1:process(current_state,input) --进程P1描述次态逻辑,敏感信号中包含当前状态current_state以及输入的序列信号input。
begin
case current_state is
when s0=>if(input='1')then next_state<=s1;
else next_state<=s0;
end if;
when s1=>if(input='0')then next_state<=s2;
else next_state<=s1;
end if;
when s2=>if(input='1')then next_state<=s3;
else next_state<=s0;
end if;
when s3=>if(input='1')then next_state<=s1;
else next_state<=s2;
end if;
end case;
end process;
P2:process(clk) --第二个进程P2描述状态寄存器的逻辑,将次态转化为现态,所以讲时钟作为敏感信号,是一个时钟进程。
begi

北京邮电大学数电实验第四周实验报告 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xunlai783
  • 文件大小219 KB
  • 时间2018-02-06