模型机时序部件设计 Verilog Quartus

名称:模型机时序部件设计 Verilog Quartus

软件:Quartus

语言:Verilog

功能介绍

该工程使用 Verilog 实现模型机中的五类基础时序部件:状态切换模块 SM、8 位指令寄存器 IR、1 位状态寄存器 PSW、8 位程序计数器 PC,以及由 4 个 8 位寄存器组成的通用寄存器组。模块覆盖时钟触发、条件装载、状态保持、计数递增和寄存器选择读写等常见时序逻辑功能,适合用于计算机组成原理及数字系统课程中的时序部件设计与 Quartus 工程实践。 各模块均采用时钟下降沿更新状态。SM 在使能有效时翻转输出;IR 和 PSW 根据各自使能采样输入;PC 可装载输入值或递增计数,装载信号优先;寄存器组通过独立的源、目的选择信号读出对应数据,并由写使能和目的地址控制写入。工程提供各模块的 Verilog 源码及 Quartus 工程文件,可用于理解模块划分、控制信号作用和时序电路的基本实现方式。

运行环境

硬件描述语言:Verilog 开发软件:Quartus 工程器件设置为 MAX II 系列,型号 EPM0T144I-5。

设计思路

本设计围绕模型机中的基础时序部件展开,采用 Verilog 描述状态保持、指令保存、程序计数和寄存器读写等行为。各模块统一以时钟下降沿作为状态更新时刻,通过使能或控制信号决定是否装载新数据;未满足更新条件时,寄存器保持当前值。 SM 模块在使能有效时翻转输出,用于演示简单状态切换;IR 在装载使能有效时保存 8 位输入;PSW 在使能有效时采样并保存 1 位状态输入。PC 支持装载外部 8 位数据,也可在递增控制有效时加一,装载控制优先于递增控制。 寄存器组由 4 个 8 位寄存器构成,源寄存器和目的寄存器分别通过 2 位选择信号进行组合读出;写使能有效时,目的寄存器选择信号决定被写入的寄存器。工程配有 Quartus 仿真工程文件,可用于观察各模块的控制与时序行为,并结合时序分析结果了解建立、保持及工作频率等指标。

模块结构

工程顶层模块为 `pc`,主要设计模块包括: - `sm`:带使能的状态翻转模块。 - `ir`:带装载使能的 8 位指令寄存器。 - `psw`:带使能的 1 位状态寄存器。 - `pc`:支持数据装载与加一操作的 8 位程序计数器。 - `reg_group`:包含 4 个 8 位寄存器,提供源、目的寄存器选择读出及条件写入。 Quartus 工程文件为 `timing_comp.qpf` 和 `timing_comp.qsf`,配有各模块的波形工程文件。

开发板验证

工程包含 Quartus 管脚约束与分配文件,可用于配合目标开发板进行引脚配置与验证。

仿真图/仿真说明/设计文档图片

工程配有 SM、IR、PSW、PC 和寄存器组的 Quartus 波形文件,以及 ModelSim 仿真相关工程文件,可用于查看功能仿真和时序仿真过程。设计文档配有各模块的 RTL 视图、仿真波形及时序分析图片。

模型机时序部件设计 Verilog Quartus 设计文档图片 image25.png

模型机时序部件设计 Verilog Quartus 设计文档图片 image24.png

模型机时序部件设计 Verilog Quartus 设计文档图片 image9.png

模型机时序部件设计 Verilog Quartus 设计文档图片 image10.png

模型机时序部件设计 Verilog Quartus 设计文档图片 image23.png

模型机时序部件设计 Verilog Quartus 设计文档图片 image8.png

模型机时序部件设计 Verilog Quartus 设计文档图片 image4.png

模型机时序部件设计 Verilog Quartus 设计文档图片 image3.png

模型机时序部件设计 Verilog Quartus 设计文档图片 image2.png

模型机时序部件设计 Verilog Quartus 设计文档图片 image7.png

模型机时序部件设计 Verilog Quartus 设计文档图片 image22.png

模型机时序部件设计 Verilog Quartus 设计文档图片 image1.png

模型机时序部件设计 Verilog Quartus 设计文档图片 image6.png

模型机时序部件设计 Verilog Quartus 设计文档图片 image21.png

模型机时序部件设计 Verilog Quartus 设计文档图片 image11.png

模型机时序部件设计 Verilog Quartus 设计文档图片 image12.png

模型机时序部件设计 Verilog Quartus 设计文档图片 image13.png

模型机时序部件设计 Verilog Quartus 设计文档图片 image14.png

模型机时序部件设计 Verilog Quartus 设计文档图片 image15.png

模型机时序部件设计 Verilog Quartus 设计文档图片 image16.png

模型机时序部件设计 Verilog Quartus 设计文档图片 image17.png

模型机时序部件设计 Verilog Quartus 设计文档图片 image18.png

模型机时序部件设计 Verilog Quartus 设计文档图片 image19.png

模型机时序部件设计 Verilog Quartus 设计文档图片 image5.png

模型机时序部件设计 Verilog Quartus 设计文档图片 image20.png

部分代码

以下展示顶层模块 pc 的部分代码,完整源码请下载压缩包查看。

module pc(
input clk,//时钟
input ld_pc,//装载控制信号
input in_pc,//自加1控制信号
input [7:0] a, //8位输入
output [7:0] c //8位输出
);
reg [7:0] c_buf=8'd0;
always@(negedge clk)//下降沿
	if(ld_pc)
		c_buf<=a;//8位输入
	else if(in_pc)
		c_buf<=c_buf+8'd1;//自加1

assign c = c_buf; 		

endmodule

代码文件(付费下载)

📥 付费后此处显示完整工程压缩包下载链接。
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 模型机时序部件设计 Verilog Quartus

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员