目录
A)创建工程(选择的芯片为 family=Cyclone II;name=EP2C5T144C8)
C)编译与调试(包含编译调试过程中的错误、警告信息以及资源消耗)
A)创建工程(选择的芯片为 family=Cyclone II;name=EP2C5T144C8)
C)编译与调试(包含编译调试过程中的错误、警告信息以及资源消耗)
A)创建工程(选择的芯片为 family=Cyclone II;name=EP2C5T144C8)
C)编译与调试(包含编译调试过程中的错误、警告信息以及资源消耗)
A)创建工程(选择的芯片为 family=Cyclone II;name=EP2C5T144C8)
C)编译与调试(包含编译调试过程中的错误、警告信息以及资源消耗)
A)创建工程(选择的芯片为 family=Cyclone II;name=EP2C5T144C8)
C)编译与调试(包含编译调试过程中的错误、警告信息以及资源消耗)
1.时钟周期的上升沿实现对 RAM 的读写操作,为何 PC、SM、IR、PSW以及寄存器组的操作是下降沿完成?
2.采用 VERILOG 语言描述时序部件应该采用阻塞赋值语句还是非阻塞赋值语句?
3.通用寄存器组只有 WE 的控制信号,实现通用寄存器组读操作的电路是组合电路还是时序电路?请大致画出对寄存器组进行读操作的电路部分。
1、从需要掌握的理论、遇到的困难、解决的办法以及经验教训等方面进行总结。
【说明】
电子电路每次实验的提交都是会进行查重的,不过后面的三次实验都比电子秤要好通过的多,这个不必太担心,这里给出的代码提交都是100分,可以参考一下。
与本次实验相关的代码及报告等文件见以下链接:
通过网盘分享的文件:电子电路实验二.zip
链接:https://pan.baidu.com/s/1X_pMO6QM6x15twjuMM3JWQ
提取码:9785
一、实验目的
1.了解模型机中 SM 的作用。
2.熟悉指令寄存器、状态寄存器、指令计数器、寄存器的工作原理
3.学会使用 VERILOG 语言设计时序电路。
二、实验内容
1.用 VERILOG 语言设计 SM;
2.用 VERILOG 语言设计一个 8 位的指令寄存器 IR;
3.用 VERILOG 语言设计一个 1 位的状态寄存器 PSW;
4.用 VERILOG 语言设计一个 8 位的指令计数器 PC;
5.用 VERILOG 语言设计 4 个 8 位寄存器组成的寄存器组,实现读写操作;
三、实验过程
1.SM
A)创建工程(选择的芯片为 family=Cyclone II;name=EP2C5T144C8)
B) 源代码
C)编译与调试(包含编译调试过程中的错误、警告信息以及资源消耗)
图示为警告信息
图示为资源消耗
D)RTL视图
E)功能仿真波形
F)时序仿真波形
G)结果分析及结论
结果分析:对于功能仿真,当 sm_en 使能有效时(高电平有效),输出信号 sm 在时钟下降沿发生翻转,当 sm_en 禁止时,输出信号不发生翻转。对于时序仿真,输出结果与功能与功能仿真基本一致,但存在 7ns多的延迟。
结论:
SM 的结构是一个锁存器,当时钟下降沿来到时,下一状态变成当前状态取反,元件设计符合要求,元件内部存在 7ns多的延迟。
2.指令寄存器IR
A)创建工程(选择的芯片为 family=Cyclone II;name=EP2C5T144C8)
B)源代码
C)编译与调试(包含编译调试过程中的错误、警告信息以及资源消耗)
图示为警告信息
图示为资源消耗