电子电路设计训练数字部分(Verilog).pptVIP

电子电路设计训练数字部分(Verilog).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 6.3 状态机的测试 状态机的测试模块 `timescale 1ns/1ns module t; reg a; reg clock,rst; wire k2,k1; initial // initial常用于仿真时信号的给出。 begin a=0; rst = 1; //给复位信号变量赋初始值 clock = 0; //给时钟变量赋初始值 #22 rst = 0; //使复位信号有效 #133 rst = 1; //经过一个多周期后使复位信号无效 end ? * 6.3 状态机的测试 状态机的测试模块(续) always #50 clock = ~clock; //产生周期性的时钟 ? always @ (posedge clock) //在每次时钟正跳变沿时刻产生不同的a begin #30 a = {$random}%2; // 每次a是 0还是1是随机的。 #(3*50+12); // a 的值维持一段时间 end initial begin #100000 $stop; end //系统任务,暂停仿真以便观察仿真波形。 ? //----------- 调用被测试模块t.m ---------- fsm m(.Clock(clock), .Reset(rst),.A(a),.K2(k2),.K1(k1)); endmodule ? ? ? * 6.4 状态机设计总结 有限状态机设计的一般步骤: 1.逻辑抽象,得出状态转换图 2.状态化简 3.状态分配 在触发器资源丰富的FPGA或ASIC设计中采用独热编码(one-hot-coding)既可以使电路性能得到保证又可充分利用其触发器数量多的优势,也可以采取输出编码的状态指定来简化电路结构,并提高状态机的运行速度。 4.选定触发器的类型并求出状态方程、驱动方程和输出方程。 5.按照方程得出逻辑图 采用Verilog HDL来描述有限状态机,可以 充分发挥硬件描述语言的抽象建模能力 * 6.5 交通灯例子 * 6.5 交通灯例子 正常情况主干道绿灯,汽车通行,人行横道红灯,禁止通行; 有行人要过马路,进行人行请求,10秒后,主干道绿灯转黄灯; 主干道黄灯亮3秒后转红灯,同时人行横道红灯转绿灯,行人通行; 行人通行30秒后,人行横道绿灯转黄灯; 人行横道黄灯亮3秒后转红灯,同时主干道红灯转绿灯,并在60秒内不再响应人行请求; 60秒后,行人可以继续进行人行请求过马路。 * 6.5 交通灯例子 如何设计状态转移图? state0 :汽车通行状态,汽车绿灯亮; state1 :接受行人请求后延时10秒; state2 :汽车黄灯亮; state3 :汽车红灯亮,行人绿灯亮; state4 :行人黄灯亮; state5 :行人红灯亮,汽车绿灯亮,但是不响应行人请求。 * 6.5 交通灯例子 如何设计行为模型? //行人过街交通灯控制器 module traffic3(rst,clk,press,lights,count); input rst; //异步复位信号输入,高电平复位 input clk; //状态机时钟输入 input press; //过街按键信号输入,高电平有效 output [5:0] lights; //交通灯控制输出 output [5:0] count; //内部信号 reg [5:0] count; //秒计数,最大60秒 reg [2:0] states; //状态值 reg [5:0] lights; //交通灯控制输出 parameter state0=3d0,state1=3d1,state2=3d2,state3=3d3, state4=3d4,state5=3d5; parameter lights1=6b001_100, lights2=6b010_100, lights3=6b100_001, lights4=6b100_010; * 6.5 交通灯例子 如何设计行为模型? always @(posedge rst or posedge clk) be

文档评论(0)

seunk + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档