Verilog HDL数字设计教程(贺敬凯)第7章
更新时间:2023-07-18 16:11:01 阅读量: 实用文档 文档下载
- verilog推荐度:
- 相关推荐
第7章 Verilog HDL可综合设计举例7.1 跑马灯控制器的设计 7.2 8位数码扫描显示电路的设计 7.3 数控分频器的设计 7.4 乐曲硬件演奏电路的设计 7.5 数字跑表和数字钟的设计 7.6 用Verilog HDL状态机实现A/D采样控制电路 7.7 交通控制器的设计 7.8 空调控制器的设计 7.9 饮料自动售卖机的设计 7.10 小结 习题7
第7章 Verilog HDL可综合设计举例
7.1 跑马灯控制器的设计1. 设计要求 共8个LED灯,连成一排。要求实现几种灯的组合显示。具 体要求如下: (1) 模式1:先奇数灯,即第1、3、5、7灯亮0.25 s,然后偶
数灯,即第2、4、6、8灯亮0.25 s,依次循环。(2) 模式2:按照1、2、3、4、5、6、7、8的顺序依次点亮 所有灯,间隔时间为0.25 s;然后再按1/2/3/4/5/6/7/8的顺序依次 熄灭所有灯,间隔时间为0.25 s。
第7章 Verilog HDL可综合设计举例(3) 模式3:按照1/8、2/7、3/6、4/5的顺序依次点亮所有灯,
间隔时间为0.25 s,每次同时点亮两个灯;然后再按照1/8、2/7、3/6、4/5的顺序依次熄灭所有灯,间隔时间为0.25 s,每次同时 熄灭两个灯。 (4) 以上模式可以选择。
第7章 Verilog HDL可综合设计举例2. 设计说明
LED灯与FPGA的连接如图7-1所示,设计要求很容易实现,在此不再说明。
第7章 Verilog HDL可综合设计举例
图7-1 8个LED灯与FPGA的连接图
第7章 Verilog HDL可综合设计举例使用两个键进行模式选择,两个键有00、01、10、11四种
组合,使用其中的三种组合,分别对应设计要求的三种情况。
第7章 Verilog HDL可综合设计举例3. 设计模块(包含模块划分)
该设计比较简单,仅用一个模块即可,输入端口为rst、clk、sel[1..0],输出端口为led[7..0],其中sel用于模式选择,led用于 控制8个LED灯,如图7-2所示。
第7章 Verilog HDL可综合设计举例
图7-2 跑马灯模块端口框图
第7章 Verilog HDL可综合设计举例4. 代码分析 【例7-1】 设计源码。 module paomadeng(rst,clk,sel,led); input rst,clk; input[1:0] sel; output[7:0] led; reg[7:0] led;
reg[7:0] led_r,led_r1;reg cnt1,dir; reg[2:0] cnt2;
reg[1:0] cnt3;
第7章 Verilog HDL可综合设计举例always @(posedge clk) begin if(rst) begin cnt1<=0; cnt2<=0; cnt3<=0; dir<=0; end else case(sel) 2'b00: begin led_r=8'b01010101; if(cnt1==0) led<=led_r; else led<=led_r<<1; cnt1<=cnt1+1; end
第7章 Verilog HDL可综合设计举例2'b01: begin if(!dir) begin if(cnt2==0) begin
led_r=8'b00000001;led<=led_r; endelse begin led<=(led<<1)+led_r; end
if(cnt2==7) begindir<=~dir; end cnt2<=cnt2+1; end
第7章 Verilog HDL可综合设计举例else begin if(cnt2==0) begin led_r=8'b11111110;led<=led_r; end else begin led<=led<<1; end if(cnt2==7) begin dir<=~dir; end cnt2<=cnt2+1; end end
第7章 Verilog HDL可综合设计举例2'b11: begin
if(!dir) beginif(cnt3==0) begin led_r
=8'b00000001;led_r1=8'b10000000;end else begin led_r=(led_r<<1)| led_r; led_r1=(led_r1>>1)| led_r1; end led<=led_r | led_r1; if(cnt3==3) begin dir<=~dir; end cnt3<=cnt3+1; end else
第7章 Verilog HDL可综合设计举例begin if(cnt3==0) begin led_r=8'b11111110;led_r1=8'b01111111;end else begin
led_r=led_r<<1;led_r1=led_r1>>1; endled<=led_r & led_r1; if(cnt3==3) begin dir<=~dir; end cnt3<=cnt3+1;
第7章 Verilog HDL可综合设计举例end end default: ; endcase
endendmodule
第7章 Verilog HDL可综合设计举例程序说明:
(1) case语句用于选择三种模式。当case表达式中的sel为2'b00时选择模式1,为2'b01时选择模式2,为2'b11时选择模式3。
(2) cnt1、cnt2、cnt3分别为三种模式下的计数器,用于控制流水灯的转换节奏。
(3) dir用于方向控制,与cnt1、cnt2、cnt3的具体数值相关。
第7章 Verilog HDL可综合设计举例5. 仿真分析
仿真波形如图7-3所示。该仿真波形仅列出了sel为2'b11时跑马灯的运行情况。从图中可以看出,灯的运行与模式3一致,说 明程序代码实现了模式3。读者也可以通过修改sel的值对模式1 和模式2进行验证。
第7章 Verilog HDL可综合设计举例
图7-3 跑马灯仿真波形
第7章 Verilog HDL可综合设计举例6. 引脚锁定下载硬件验证
选择GW48-PK2系统中的实验电路5,引脚锁定情况如图7-4所示。
将设计下载到实验开发系统中,观察实际运行情况。clk接FPGA的93引脚,频率选择4 Hz,然后通过按键选择跑马灯的运
行模式,观察跑马灯的实际运行情况。
第7章 Verilog HDL可综合设计举例
图7-4 引脚锁定情况
第7章 Verilog HDL可综合设计举例7. 扩展部分
请读者思考其他LED显示方式,并实现之。例如:先循环左移,再循环右移(任一时刻只有一个LED灯 亮),然后从两头至中间依次点亮(任一时刻只有两个LED灯亮), 之后不断重复以上显示方式。
正在阅读:
Verilog HDL数字设计教程(贺敬凯)第7章07-18
09-12年40大新发现物种 - 图文11-17
粘02-18
年产4.5万吨丙烯腈合成工段工艺设计09-18
2021年上半年义务教育控辍保学工作总结08-04
2017年初级爆破工程师考试题01-08
不爱学习的小猪作文400字06-21
长春版《宋词二首》教案09-04
过程控制期末复习11-26
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 设计教程
- Verilog
- 数字
- 贺敬凯
- HDL
- 3共青团赣州特别支部的成立
- 小熊过桥教学设计
- 11.3 极坐标系下二重积分的计算法
- 初一数学人教版(下册)与三角形有关的角练习题三(含答案)
- 行政职业能力测验-言语理解与表达-近义词辨析
- 九年级上册英语期中试题1
- 婴儿和儿童胸片的辨析
- 临床护理路径在慢性硬膜下血肿患者中的应用
- 高考历史全程检测十八:资产阶级革命时代的东西方世界(附答案)
- 张俊-小波和RBF神经网络在滚动轴承故障诊断中应用1
- 胃脘痛不同证型的中医辩证施护
- 汽车维修基础第7章
- 安全质量标准化达标验收情况介绍
- 北仑中学2013-2014学年高二上学期期中考试英语试题
- 常用商务日语会话
- Neutron scattering study of the oxypnictide superconductor La(O,F)FeAs
- 应用正交实验法优化退锚切割参数
- 奢侈品品牌知识培训
- 话题作文拟题技巧初探
- 初中数学考试答题技巧