《数字电路与数字系统实验》第五次实验报告主要围绕触发器和锁存器展开,旨在深化理解这些基本存储元件的工作原理,并通过Verilog语言进行时序电路的仿真,掌握阻塞赋值语句和非阻塞赋值语句的使用。 1. **锁存器与触发器**: - **D锁存器**:锁存器是一种存储单元电路,对脉冲电平敏感。当特定的输入脉冲到达时,它会改变状态,将信号保持在某一电平状态。D锁存器的特性是状态更新取决于输入D的状态。 - **D触发器**:D触发器是具有记忆功能的双稳态器件,是时序电路的基础。其次态由D端的状态决定,即在时钟脉冲上升沿到来前D的状态。D触发器具备置0和置1功能,并且可以设计为时钟边沿触发,只在时钟脉冲的特定时刻(如上升沿或下降沿)更新状态。 2. **$stop语句**: 在Verilog测试代码中,$stop语句用于暂停仿真。它有不同形式,如`$stop;`或`$stop(n);`,其中较大的参数值会提供更多信息。默认情况下,仿真会持续到程序结束,但加入$stop指令后,仿真会在遇到该指令时停止。 3. **非阻塞赋值语句**: 在触发器设计中,非阻塞赋值语句(`<=`)用于同步电路设计,它在时钟边沿更新信号,确保信号在时钟周期内不发生跳变。这对于保持电路的稳定性至关重要。 4. **实验目的**: - 复习锁存器和触发器工作原理。 - 学习分析和阅读时序电路的时序图。 - 掌握使用Verilog进行时序电路仿真的方法,了解阻塞赋值和非阻塞赋值的差异。 - 设计带有异步和同步清零端的D触发器,并用阻塞赋值语句设计JK触发器。 5. **实验设备与环境**: 实验使用FPGA开发板和Quartus开发平台,软件环境支持Verilog代码的编写、编译和仿真。 6. **实验步骤**: 实验中首先设计同步清零的触发器,然后是异步清零的,通过不断仿真和修改代码来优化设计。实验还包括模块实例化,其中参数传递采用子模块中定义的parameter。硬件实现部分涉及了LED和按键的配置,以验证触发器的功能。 7. **问题与解决方案**: - 端口连接错误:将reg类型改为wire类型,以适应Verilog的连接规则。 - 模块实例化问题:通过查阅资料逐步解决技术性bug。 - 时序错误:在always块中加入对clr_n的判断,避免在清除信号无效时执行代码。 8. **实验启示**: 实验强调了在面对新知识和挑战时,应先理解原理,再动手实践,避免急躁导致的复杂化问题。通过本次实验,学生不仅增强了对数字电路的理解,也提高了Verilog编程和硬件实现的能力。
- 粉丝: 881
- 资源: 330
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助