




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
可编程逻辑器件应用 常用时序电路设计 主讲教师 刘俐工作地点 行政楼504电话 mail liuli QQ 286035541 电子专业核心课程 主要内容 触发器设计移位寄存器设计计数器设计分频器设计状态机设计 D触发器设计 上升沿触发的D触发器异步复位上升沿触发的D触发器异步置位上升沿触发的D触发器异步复位和置位上升沿触发的D触发器同步复位上升沿触发的D触发器同步置位上升沿触发的D触发器带异步复位和时钟使然 上升沿触发的D触发器 上升沿触发的D触发器参考设计 必须满足数据建立时间和保持时间 上升沿触发的D触发器参考设计 moduled flipflop 1 d cp q inputd cp outputq regq always posedgecp beginq d endendmodule 异步复位 上升沿触发的D触发器 moduled flipflop 2 d cp reset q inputd cp reset outputq regq always posedgecpornegedgereset beginif reset 1 b0 q 1 b0 elseq d endendmodule 异步复位 上升沿触发的D触发器 异步置位 上升沿触发的D触发器 异步置位 上升沿触发的D触发器 moduled flipflop 3 d cp set q inputd cp set outputq regq always posedgecpornegedgeset beginif set 1 b0 q 1 b1 elseq d endendmodule 异步复位和置位 上升沿触发的D触发器 异步复位和置位 上升沿触发的D触发器 moduled flipflop 4 d cp set reset q inputd cp reset set outputq regq always posedgecpornegedgeresetornegedgeset beginif reset 1 b0 q 1 b0 elseif set 1 b0 q 1 b1 elseq d endendmodule 同步复位 上升沿触发的D触发器 同步复位 上升沿触发的D触发器 moduled flipflop 5 d cp reset q inputd cp reset outputq regq always posedgecp beginif reset 1 b0 q 1 b0 elseq d endendmodule 同步置位 上升沿触发的D触发器 同步置位 上升沿触发的D触发器 moduled flipflop 6 d cp set q inputd cp set outputq regq always posedgecp beginif pset 1 b0 q 1 b1 elseq d endendmodule 异步复位和时钟使然 上升沿触发的D触发器 moduledff 3 data clk en reset q inputdata clk reset en outputq regq always posedgeclkornegedgereset beginif reset 1 b0 q 1 b0 elseif en 1 b1 q data endendmodule 异步复位和时钟使然 上升沿触发的D触发器 ShiftRegister 移位寄存器是一种在时钟脉冲的作用下 将寄存器中的数据按位移动的逻辑电路 主要功能 串并转换串行输入串行输出串行输入并行输出并行输入串行输出 串入串出移位寄存器 基本串入串出移位寄存器原理图8位移位寄存器由8个D触发器串联构成 在时钟信号的作用下 前级的数据向后移动 串入串出移位寄存器参考设计 moduleshift 1 din clk dout inputdin clk outputdout regdout regtmp1 tmp2 tmp3 tmp4 tmp5 tmp6 tmp7 always posedgeclk begintmp1 din tmp2 tmp1 tmp3 tmp2 tmp4 tmp3 tmp5 tmp4 tmp6 tmp5 tmp7 tmp6 dout tmp7 endendmodule 串入串出移位寄存器参考设计 串入并出shiftregister 4位串行输入并行输出移位寄存器的逻辑电路如图所示 该寄存器由4个同步D触发器组成这种D触发器的R端是是非同步清零端 串入并出移位寄存器参考设计 moduleshift 2 din clk clr q inputdin clk clr output 3 0 q reg 3 0 q always posedgeclkornegedgeclr beginif clr 1 b0 q 4 b0000 elseq 0 din q q 1 endendmodule 串入并出移位寄存器参考设计 并入串出shiftregister 并入串出移位寄存器可以将一组二进制数并行送入一组寄存器 然后把这些数据串行从寄存器内输出 一个同步并入串出移位寄存器的基本管脚 并行输出输入端 data时钟脉冲输入端 clk加载数据端 load串行数据输出端 dout 串入并出shiftregister参考设计 moduleshift3 clk din load q inputclk load input 3 0 din outputq regq reg 3 0 tmp always posedgeclk beginif load 1 b1 tmp din elsebegintmp tmp 1 tmp 0 1 b0 endq tmp 3 endendmodule 串入并出shiftregister参考设计 计数器设计 计数器是一种典型的时序器件 常用于对时钟脉冲的个数进行计数 还用于定时 分频 产生同步脉冲 按触发方式分 同步计数器和异步计数器 最容易的计数器设计就是cnt cnt 1 但是你可能得不到最好的结果 基本计数器的设计 基本计数器只能实现单一递增或递减计数功能没有其他控制端 以递增计数器为例 介绍其VerilogHDL设计方法 递增计数器基本引脚 时钟输入端 clk计数输出端 cnt VerilogHDL参考设计 1 modulecount clk cnt inputclk output 2 0 cnt reg 2 0 cnt always posedgeclk beginif cnt 7 cnt 0 elsecnt cnt 1 endendmodule modulecnt clk cnt inputclk output 2 0 cnt reg 2 0 cnt reg 2 0 next cnt always cnt begincase cnt 3 h0 next cnt 3 h1 3 h1 next cnt 3 h2 3 h2 next cnt 3 h3 3 h3 next cnt 3 h4 3 h4 next cnt 3 h5 3 h5 next cnt 3 h6 3 h6 next cnt 3 h7 3 h7 next cnt 3 h0 default next cnt 3 b000 endcaseendalways posedgeclk cnt next cnt endmodule VerilogHDL参考设计 2 问题思考 1 上述描述的是一个模为多少的计数器 2 请自行设计一个同步模12计数器3 在2基础上进行修改 设计一个带异步复位的模12计数器 4 同步复位的模12计数器如何设计 项目设计1 一 目的 1 实现带计数允许和复位端的十进制 六进制和60进制计数器 2 掌握计数器类型模块的描述方法 3 掌握VeriogHDL模块的层次化设计方法 二 说明计数器是数字电路系统中最基本的功能模块之一 设计十进制 六进制和100进制计数器 要求计数器有计数允许和复位输入及进位输出功能 计数时钟可以用1Hz信号 用LED显示计数值 本设计要求用仿真和测试两种手段来验证计数器的功能 实验时 可以通过修改十进制计数器的设计得到六进制 100进制计数器 三 设计要求 1 完成各模块的VerilogHDL设计编码 2 进行功能仿真 3 下载并验证计数器功能 4 如果60进制计数器要求用6进制和10进制计数器搭建电路 请画出设计连接图 并完成设计编码和验证 项目设计2 模拟74LS160芯片HDL设计 分频器设计 2的整数次幂的分频器设计 偶分频电路设计 占空比为1 15的分频电路设计 用Verilog语言完成对时钟信号CLK的2分频 4分频 8分频 16分频 这也是最简单的分频电路 只需要一个计数器即可 2 4 8 16分频电路设计 电路的功能仿真波形 6分频电路设计与实现对于分频倍数不是2的整数次幂的情况 我们只需要对源代码中的计数器进行一下计数控制就可以了 如下面用Verilog设计一个对时钟信号进行6分频的分频器 电路的仿真波形图 在进行硬件设计的时候 往往要求得到一个占空比不是1 1的分频信号 这时仍采用计数器的方法来产生占空比不是1 1的分频信号 下面源代码描述的是这样一个分频器 将输入的时钟信号进行16分频 分频信号的占空比为1 15 也就是说 其中高电位的脉冲宽度为输入时钟信号的一个周期 占空比1 15分频电路设计 电路仿真波形图 在数码管上显示十进制秒计数 任务分析 1 需要将系统时钟 50MHz 分频 得到1Hz分频时钟 2 对分频时钟进行十进制计数 3 将计数器计数结果送数码管译码器上 4 选择数码管显示 在数码管上显示十进制秒计数 电路框图 数码管译码电路 产生位选信号 传送4位BCD码 clk sys num bcd 3 0 seg 7 0 scan 3 0 led 0 led 1 led 2 led 3 系统时钟分频电路 十进制计数器 clk 1s cnt10 3 0 rst 用4位led数码管显示 9527 任务分析 轮流打开4个数码管 每个数码管显示0 01s 0 1s 由于视觉暂留效应 就好像显示4个不同的数字 设计思路 1 打开scan0的时候 在abcdefg线上赋值 9 2 打开scan1的时候 在abcdefg线上赋值 5 3 打开scan2的时候 在abcdefg线上赋值 2 4 打开scan3的时候 在abcdefg线上赋值 7 用4位led数码管显示 9527 电路框图 数码管译码电路 系统时钟分频电路 2位计数器产生2位位选码 2 4线译码器产生位扫描信号 传送4位BCD码 clk sys clk scan scan sel 1 0 num bcd 3 0 seg 7 0 scan 3 0 led 0 led 1 led 2 led 3 用4位led数码管显示 9527 1 输入输出端口定义 一共有几组输入输出端口 2 设计扫描信号 首先要降低扫描速度 生成一个大约为0 01s 0 1s的时钟分频电路 由系统时钟分频 系统时钟定义为sysclk 分频后的时钟定义为div scan 第一个always语句块 3 利用分频后的时钟信号产生一个2位的位选编码信号 第二个always语句块 用2位计数器实现 4 将2位的位选编码译码 产生四个数码管的四根扫描线 依次循环扫描 第三个always语句块 用2 4线译码器实现 5 分不同的时间把9 5 2 7放到数码管的段码线上去 即在位选码分别为00 01 10 11的时候在abcdefg上放置9 5 2 7 用一个case语句 扫描第一个数码管时放第一个数 依次类推 第四个always语句块 6 7段数码管译码电路 从二进制到abdcdefg译码 第五个always语句块 设计具有复位功能的电子秒表 任务分析 1 需要将系统时钟 50MHz 分频 得到1Hz分频时钟 按分频时钟进行六十进制计数2 轮流打开2个数码管 每个数码管显示0 01s 0 1s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度缝纫行业国际市场拓展与品牌合作合同
- 2025年北京智能家居系统安装废弃物规范处理与再利用合同
- 2025年新型农村分布式光伏发电项目施工与长期运维服务合同
- 2025年企业内部采购流程标准化与合同管理智能化升级合同
- 2026届四川省广安遂宁资阳等七市化学高二第一学期期末综合测试试题含答案
- 针纺织品公司员工保密协议
- 2025-2030中国护目镜行业现状调查与前景展望分析报告
- 土方施工及运输方案
- 2025年租赁服务行业研究报告及未来行业发展趋势预测
- 充电桩安装项目预算与成本控制方案
- 服装工艺培训课件
- 2025至2030中国股指期货行业发展分析及发展前景与投资报告
- 2024北京北师大实验中学高二10月月考数学试题及答案
- 美术介绍教学课件
- 子公司运营规范管理制度
- 2025年福建省福州左海供应链集团有限公司招聘笔试参考题库含答案解析
- 2025届上海市中考语文真题作文题目解析+范文
- 道路绿化修剪合同范本
- T/CSPSTC 75-2021微动探测技术规程
- 素描构图与透视教案
- 体育培训入股协议书
评论
0/150
提交评论