电子设计自动化edatimer状态机设计_第1页
电子设计自动化edatimer状态机设计_第2页
电子设计自动化edatimer状态机设计_第3页
电子设计自动化edatimer状态机设计_第4页
电子设计自动化edatimer状态机设计_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、设计举例:8位计时器timer计时器timer的框图(1)reset:异步清零信号, 低电平有效, 具有最高的优先级。 reset = 0使输出信号ring = 0。(2) data_in:数据输入。(3)clock:同步时钟,正跳变触发。(4)start:计时器启动信号。(5)ring:控制铃响的输出信号,高电平有效。l ring = 1的持续期为8,超过此持续期后自动归 0。 timer ring clock start reset data_in(7.0) 计时器timer的时序关系 start = 0 时,计时器 开始减计数 reset start start = 1 时,计时器 接受

2、来自 data_in的数据 接收数据 减计数 ring = 1 ring = 1的持续期为 8,超过此持续期后自动归 0。 计时器的 值达到零 reset = 0 进入初始状态 timer目标电路的分解 timer的asm图 reset 否 是 counter = 1? counter data_in st1 st0 ring 0 counter 00000000 是 否 start = 1? 是 否 start = 1? st2 是 否 counter =1? counter 减 1 counter 00001000 st3 ring 1 counter 减 1 接收数据 ring = 1

3、持续期 减计数 初始状态 vhdl代码 library ieee; - 打开 ieee 库 use ieee.std_logic_1164.all; - 打开 ieee 库中的程序包std_logic_1164 use ieee.std_logic_unsigned.all; - 打开此程序包后, 可以对std_logic_vector - 类型的对象执行加/减运算 entity timer is - entity 用于定义端口 port ( data_in: in std_logic_vector( 7 downto 0 ); - 输入端口 reset, clock, start : in std_logic; - 输入端口 ring : out std_logic ); - 输出端口 end timer; vhdl代码(续)architecture behav of timer isbeginprocess( reset, clock ) variable counter: std_logic_vector( 7 downto 0 ); variable state : integer range 0 to 3;begin if reset = 0 then ring = 0; state := 0; elsif clockevent and clock = 1 then

温馨提示

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

评论

0/150

提交评论