- 202
- 0
- 约3.92万字
- 约 56页
- 2017-06-08 发布于湖北
- 举报
第四章、Verilog HDL设计技巧
第四章、 Verilog HDL设计技巧
本章通过一些简单的实例演示一下如何在verilog hdl中实现看似不可能实现的技巧,主要包括
1.双向端口的使用
2.PWM波形的产生
3.常见几种分频器的设计
4.巧用存储器定义语句实现存储器设计
5.基于存储器的DDS设计
6.有限状态机
本章讲述一些常用的verilog设计方法和技巧,可以加速实际的工程应用,提高效率。
双向端口
双向端口在应用过程中常常用到,如在进行和存储器的接口设计时。由于存储器的数据线是双向信号,故FPGA的端口也必须用双向端口才能够连接。
Verilog HDL中的双向端口关键字为inout,如inout dat,则表示dat为一个双向(既可以输入也可以输出)的端口。
在硬件中为了更好的处理端口,大多数情况下都是使用单向端口,即input或者output。这样更容易对电路的逻辑进行描述。双向端口也往往转换成两个单向的端口进行操作。仔细分析一下,当一个端口作为双向端口时,实际上是分时的输入和输出,也就是说,当内部逻辑需要双向端口作为输入时,这时候是用双向的输入功能,反之,用输出功能。假设”内部需要”为一个变量,暂且命名为dir,则,双向端口转化为两个单向端口的电路就可以如下图所示。
图中,实线框是整个的逻辑设计电路模块,io为此模块的双向端口。虚线框为将双向端口转化为两个单向端口的子模块,两个三角形的电路为三态门,上面的三态门低电平使能,下面的三态门高电平使能。当需要将io端作为输入时候,即dir为高(假设为高电平时使用io端的输入功能),上面的三态门被关闭,下面的三态门打开,于是信号的流向从io口经过下面的三态门由a端输出,那么这个时候其他逻辑部分就可以使用a端的信号进行运算处理;反之,当内部的其他逻辑需要输出信号至io双向端口时,可以置dir为低电平,上面的三态门被打开,下面的三态门被关闭,这样b端口的信号经由上面的三态门输出至io端。这样,虚线框中的子模块就完成了双向端口转化为两个独立的单向端口(a和b)的功能。
代码如下:
?代码注释’bz;。
(3)当dir为低电平时,b端口赋值给io端口,否则,io端赋值成高阻态,也可以写成assign io =(!dir) ? b:1’bz;。
上面电路中用到了三态门,通常来说,三态门在fpga和cpld内部不推荐使用,而且一般仅限于fpga或者是cpld的引脚端才有,内部没有三态门。如果在设计过程中大量采用三态门的话,会使芯片的功耗大幅增加,资源浪费严重。仔细研究发现,可以在这里省略一个三态门。新电路如下:
因为io的双向特性是分时使用的,所以在内部其他逻辑使用a端和b端的时候也是分时使用的,换句话说,当内其他逻辑部向b写的时候,无论a端是什么值对内部的其他电路时没有影响的,因为这个时候内部其他的逻辑不读取a端口;反过来,当内部需要读取a端的值的时候,a端的值必须来自于io端的值,故必须把b端和io端断开,即三态门呈现3态即可。新的代码如下:
代码注释:
(1)直接赋值即可。
PWM波形的产生
脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。
图中,从A到C为一个脉冲的周期,AB之间电平为高电平,称作这个脉冲周期的宽度,PWM是指AB之间的高电平宽度可以调节。
若想用数字电路来实现pwm,不妨借鉴一下模拟电路中的pwm是如和生成的。
先产生锯齿波,然后利用锯齿波的电压和另一个门限电压做比较,当门限电压变化的时候,比较器输出的脉冲宽度就变化了。示意图如下:
由上图比较得知,当门限电平电压升高时,比较器的输出的占空比宽度在减少,即达到了脉冲宽度调制的目的。
那么,在数字领域里,门限电平可以由一个任意的常量或者用端口输入来实现,怎么样去实现锯齿波呢?仔细研究锯齿波,电压随着时间按照一定的比例上升(也就是增加),有点类似计数器的味道。而实际上,如果将计数器的输出的数字量进行DA转换的话,看到的输出就是锯齿波。
这里以8位的计数器和门限宽度为例,设计一个宽度可调的脉冲输出。
代码注释:
(1)设置计数用的变量,位宽为8位。和门限宽度一样。
(2)计数器计数,相当于模拟波形中的锯齿波
(3)比较器电路,当锯齿波值大于或等于门限时,pwm输出高电平,否则,输出低电平。可想,当门限输入的值发生变化时,pwm输出的脉冲宽度一定随着变化。
使用Quartus II仿真如下图:
由上图可见,计数器的输出cntr呈现出的结果(数字结果的模拟显示)就是锯齿波,当门限thres为10的时候,pwm输出的脉宽很大,thres为128时,输出近似50%的脉冲(方波),
您可能关注的文档
- 第四章 大学生人际交往.ppt
- 第四章 电视节目声音编辑.doc.ppt
- 第四框_唐代的科技文化与时代风尚.ppt
- 第四章 职场礼仪 第一节 求职面试礼仪.ppt
- 第四章 智力与智力测验内容提要.docx
- 第四章 细胞的代谢.ppt
- 第四章 人际传播的过程.ppt
- 第四章 审美经验论.ppt
- 第四章 停车产业化与停车价格.ppt
- 第四章 免疫分析技术.ppt
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 2022届上海市徐汇区高三上学期12月一模英语试卷-Word版含答案.doc VIP
- (完整版)Aitken拖延问卷(API).docx VIP
- MTU软件简易操作培训课件32.pdf VIP
- 2026年春统编版九年级下册语文教学计划及教学进度表.docx VIP
- 学校“最小应急单元”突发事件处置工作指引解读课件.pptx VIP
- 深圳大学《现代通信原理》2021-2022学年第一学期期末试卷.doc VIP
- 人教版八年级数学下册教学工作计划与教学进度表(2026春季学期).docx
- 07CJ03-1:轻钢龙骨石膏板隔墙、吊顶(参考图集).pdf VIP
- 赤壁赋教学实录与课堂案例分析.docx VIP
- 化工工艺培训PPT课件.pptx VIP
原创力文档

文档评论(0)