BCD计数器和一般二进制计数器有何差_第1页
BCD计数器和一般二进制计数器有何差_第2页
BCD计数器和一般二进制计数器有何差_第3页
BCD计数器和一般二进制计数器有何差_第4页
BCD计数器和一般二进制计数器有何差_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1 什么是同步清零和异步清零 本设计应该用何种清零方法 为什么 答 同步是指与时钟同步 即时钟触发条件满足时检测清零信号是否有效 有效则在 下一个时间周期的触发条件下 执行清零 异步是清零信号有效时 无视触发脉冲 立即清零 本设计应该用异步清零 因为异步清零 当 RST 被置零时 触发器立即置 零 不受时钟信号的控制 这个过程符合我们本设计的需求 2 BCD 计数器和一般二进制计数器有何差别 答 BCD 计数器是将 4 位二进制数转换成十进制显示结果 而一般二进制计数器与位 数长短有关 3 键盘为什么要防抖动 如何防抖动 选做 答 当按一次按健时 由于按健有反应时间 有抖动 可能你按一次机器感应到几次 所以键盘需要防抖 防抖就是让在按键正常反应时间内机器只感应一次按键效果 防 止误操作 防抖动有多种方法 可以采用在按键检测语句后加适当的延时程序来防抖 动 也可以用 while 语句检测若按键按下就进入死循环 松动时程序执行下一句 4 所设计的频率计有测量误差吗 误差是多少 如何减小误差 答 有误差 误差范围在 0 5 左右 误差来源主要有计数误差和闸门误差 为了减小 误差 我们可以进行多次测量 并取平均值 5 为什么需要锁存器 锁存器锁存信号应在什么时刻锁存 为什么 答 锁存器 Latch 是一种对脉冲电平敏感的存储单元电路 它们可以在特定输入脉冲 电平作用下改变状态 需要锁存器是因为数据有效滞后于控制信号有效 锁存信号应 该在感应到特定电平后锁存 因为输出端的状态不会随输入端的状态变化而变化 只 有在有锁存信号时输入的状态被保存到输出 直到下一个锁存信号 6 分频电路如何设计 答 分频电路可以用 Verilog 语言编程设计 也可以通过 Megafunction 目录下找到 ipm counter 宏功能模块 进行端口和参数设置 创建一个计数器 即分频器 7 所用状态机是 moore 状态机还是 mealy 状态机 为什么 答 moore 状态机 因为所用状态机输出的只是当前状态的函数 输入发生变化时还需 要等待时钟的到来 必须等待状态发生变化时才导致输出发生变化 米里状态机的输 出是当前状态和当前输入函数 8 状态机处于 S3 状态时 若再输入一个 1 为什么状态仍停留在 S3 状态 而不是其 他状态 答 因为按照设计要求需检测序列 1110010 而 S3 前已连续输入了三个 1 所以在 S3 时若继续输入 1 可以当做目前检测到了连续输入三个 1 若后面继续输入 0010 则符 合检测序列要求 9 什么叫一点热码编码状态机 答 一位热码编码 采用这种编码方式 相对于格雷码来说虽然增加了触发器 但是 节省了组合电路 提高了电路的速度和可靠性 10 信号发生器如何设计 答 可以通过 Verilog 语言编程检测按键输入 两个按键分别对应 0 和 1 module create key 1 key 0 data clk input key 1 key 0 output reg data clk always begin if key 1 begin data 1 clk 0 end else if key 0 begin data 0 clk 0 end else clk 1 end endmodule 11 如果不要求用状态机来实现 还可用什么方法实现本序列检测器 答 可以通过 Verilog 语言编程 module fsm seq clk clr x z input clk clr x output reg z reg 3 0 state parameter S0 d0 S1 d1 S2 d2 S3 d3 S4 d4 S5 d5 S6 d6 reg 6 0 D 7 b1100001 always posedge clk or posedge clr begin if clr state S0 else case state S0 begin if x D 6 begin state S1 z 0 end else begin state S0 z 0 end end S1 begin if x D 5 begin state S2 z 0 end else begin state S0 z 0 end end S2 begin if x D 4 begin state S3 z 0 end else begin state S0 z 0 end end S3 begin if x D 3 begin state S4 z 0 end else begin state S0 z 0 end end S4 begin if x D 2 begin state S5 z 0 end else begin state S0 z 0 end end S5 begin if x D 1 begin state S6 z 0 end else begin state S0 z 0 end end S6 begin if x D 0 begin state S2 z 1 end else begin state S0 z 0 end end default begin state S0 z 0 end endcase end endmodule 以上是实验 5 状态机 12 注意 以下程序为共阴 实验为共阳注意 以下程序为共阴 实验为共阳 module GunPingXianShi H0 H1 H2 H3 H4 H5 H6 H7 clk reset input clk reset 输入输出设置 output reg 0 6 H0 H1 H2 H3 H4 H5 H6 H7 reg 3 0 out parameter D0 7 h7F D1 7 h08 D2 7 h18 D3 7 h4F D4 7 h01 D5 7 H06 D6 7 h24 D7 7 h12 D8 7 h7 9 D9 7 h4B 设置参数 always posedge clk or posedge reset 上升沿有效 begin if reset out 0 清零信号 else begin if out 8 out 0 计数器 else out out 1 end end always out begin case out 4 h0 begin H0 D1 H1 D2 H2 D3 H3 D4 H4 D5 H5 D6 H6 D7 H7 D8 end 输出 AP103521 4 h1 begin H0 D2 H1 D3 H2 D4 H3 D5 H4 D6 H5 D7 H6 D8 H7 D9 end 输出 P1035213 4 h2 begin H0 D3 H1 D4 H2 D5 H3 D6 H4 D7 H5 D8 H6 D9 H7 D1 end 输出 1035213A 4 h3 begin H0 D4 H1 D5 H2 D6 H3 D7 H4 D8 H5 D9 H6 D1 H7 D2 end 输出 035213AP 4 h4 begin H0 D5 H1 D6 H2 D7 H3 D8 H4 D9 H5 D1 H6 D2 H7 D3 end 输出 35213AP1 4 h5 begin H0 D6 H1 D7 H2 D8 H3 D9 H4 D1 H5 D2 H6 D3 H7 D4 end 输出 5213AP10 4 h6 begin H0 D7 H1 D8 H2 D9 H3 D1 H4 D2 H5 D3 H6 D4 H7 D5 end 输出 213AP103 4 h7 begin H0 D8 H1 D9 H2 D1 H3 D2 H4 D3 H5 D4 H6 D5 H7 D6 end 输出 13AP1035 4 h8 begin H0 D9 H1 D1 H2 D2 H3 D3 H4 D4 H5 D5 H6 D6 H7 D7 end 输出 3AP10352 default begin H0 D0 H1 D0 H2 D0 H3 D0 H4 D0 H5 D0 H6 D0 H7 D0 end endcase end endmodule 程序解读 本程序参考设计任务 一 设计一个模 9 计数器 用 8 位数码管显示学 号 计数器的各位数对应一个 8 位数的输出 0 AP103521 1 P1035213 2 1035213A 3 035213AP 4 35213AP1 5 5213AP10 6 213AP103 7 13AP1035 8 3AP10352 随着计数器的 循环 这些数也依次在 8 个数码管上显示 实现了学号的滚动 静态显示 module xuehao display clk rst out input clk rst output reg 6 0 out reg 3 0 state parameter s0 4 d0 s1 4 d1 s2 4 d2 s3 4 d3 s4 4 d4 s5 4 d5 s6 4 d6 s7 4 d7 s8 4 d8 always posedge clk or negedge rst begin if rst begin out 7 b1111111 state s0 end else case state s0 begin out 7 b0001000 state s1 end 显示 A s1 begin out 7 b0011000 state s2 end 显示 P s2 begin out 7 b1001111 state s3 end 显示 1 s3 begin out 7 b0000001 state s4 end 显示 0 s4 begin out 7 b0000110 state s5 end 显示 3 s5 begin out 7 b0100100 state s6 end 显示 5 s6 begin out 7 b0010010 state s7 end 显示 2 s7 begin out 7 b1001111 state s8 end 显示 1 s8 begin out 7 b0000110 state s1 end 显示 3 default state 0 endcase end endmodule 程序详解 这是一个非常简单的程序 定义 8 个输出变量 然后给他们赋值 使他们 分别为 A P 1 0 3 5 2 1 3 然后通过数码管显示出来 13 ASIC 专用集成电路 Application Specific Integrated Circuit AMPP Altera 宏功能模块和 IP 核开发伙伴组织 Altera Megafunction Partners Program BGA 球状矩阵排列 ball grid array BSDL 边界扫描描述语言 Boundary Scan Description Language BST 边界扫描测试 Boundary Scan Testing CAD 计算机辅助设计 Computer Aided Design CAE 计算机辅助工程 Computer Aided Engineering CAM 计算机辅助制造 computer aided manufacturing 中央地址存储器 Central Address Memory CAT 计算机辅助测试 computer aided test CPLD 复杂可编程逻辑器件 Complex Programable Logic Device DFT 可测试设计 Design For Test EAB 嵌入式阵列块 Embedded Array Block EDA 电子设计自动化 Electronic Design Automation EDIF 电子设计交换格式 electronic design interchange format EEPROM 可擦除可编程只读存储器 Electrically Erasable Programmable Read Only Memory EPROM 可擦除可编程 ROM Erasable Programmable Read Only Memory FPGA 现场可编程门阵列 Field Programmable Gata Array EPLD 可擦除可编程逻辑器件 Erasable Programmable Logic Device FPSLIC 现场可编程系统级集成电路 Field Programmable System Level Integration Circu FSM 有限状态机 Finite State Machine GAL 通用阵列逻辑 Generic Array Logic HDL 硬件描述语言 hardware description language IEEE 电子电气工程师协会 Institute of Electrical and Electronic Engineers IP 知识产权核 Intellectual Property ISP 在系统可编程 In System Programmability JTAG 联合测试行动组 Joint Test Action Group 在 EDA 领域又称 边界 扫描测试技术 常用于可编程逻辑器件的测试下载 LAB 逻辑阵列块 Logic Array Block LE 逻辑单元 Logic Element LPM 参数可设置模块库 Library of Parameterized Modules LUT 查找表 lookup talbe OLMC 输出逻辑宏单元 Output Logic Macro Cell OTP 一次性可编程 One Time Programmable PAL 可编程阵列逻辑 Programmable Array Logic PCB 印刷电路板 PGA 可编程门阵列 Programmable Gate Array PIA 可编程连线阵 Programmable Interconnect Array PLA 可编程逻辑阵列 Programmable Logic Array PLD 可编程逻辑电路 Programable Logic Device PROM 可编程序只读存储器 Programmable Read Only Memory ROM 只读内存 Read Only Memory SRAM 静态随机存储器 Static Random Access Memory RTL 寄存器传输级 Register Transport Level SOC 单芯片系统 System on a Chip SOPC 片上可编程系统 System On Programmable Chip UART 通用异步收发器 Universal Asynchronous Receiver Transmitter VHDL 超高速集成电路硬件描述语言 Very High Speed Integrated Circuits Hardware Description Language UES 用户电子标签 User Electronic Signature ASIC 专用集成电路 CPLD 复杂可编程逻辑器件 EAB 嵌入式阵列块 EDA 电子设计自动化 FPGA 现场可编程门阵列 GAL 通用阵列逻辑 HDL 硬件描述语言 IEEE 电子电气工程师协会 IP 知识产权核 JTAG 联合测试行动组 LAB 逻辑阵列块 LPM 参数可设置模块库 LUT 查找表 PLD 可编程逻辑器件 RTL 寄存器传输级 SOPC 可编程片上系统 VHDL 超高速集成电路硬件描述语言 一 学号显示 module count60 qout cout data load reset clk input load clk reset input 7 0 data output reg 7 0 qout output cout always posedge clk begin if reset qout 0 else if load qout data else begin if qout 3 0 9 begin qout 3 0 0 if qout 7 4 5 qout 7 4 0 else qout 7 4 qout 7 4 1 end else qout 3 0 qout 3 0 1 end end assign cout qout 8 d59 1 0 endmodule module count8 out reset clk input reset clk output reg 7 0 out always posedge clk begin if reset out 0 同步复位 else out out 1 计数 end endmodule module xulie top set key clr z input 1 0 set key input clr output z wire a b serial data gen1 set key a b xulie b clr a z endmodule module serial data gen1 set key data out clk out input 1 0 set key output data out clk out reg data out assign clk out key 0 always key begin if key 0 0 else if key 0 1 else data out data out end endmodule module xulie clk clr x z input clk clr x output reg z reg 2 0 state parameter S0

温馨提示

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

评论

0/150

提交评论