商洛学院学位论文
第三章 移位寄存器设计
3.1设计规划
本设计是基于VHDL语言设计的移位寄存器,由于移位寄存器是计算机中非常重要的部件,所以本设计采用了不同的方法来实现寄存器的移位功能,具体设计的移位寄存器有:双向移位寄存器、串入串出(SISO)移位寄存器、串入并出(SIPO)移位寄存器。由于涉及内容比较基础,所以设计比较简单[1]。
3.2 各模块工作原理及设计
3.2.1移位寄存器的工作原理
用VHDL语言描述任意分频数的分频器,并实现占空比任意设置。每当系统时钟上升沿到来时,计数器就加计数一位(可任意设置为N位),当计数值到达预定值时就对分频时钟翻转,这样就会得到一个连续的时钟脉冲。
当移位信号到来时,移位寄存器就对存储的二进制进行移位操作。移位寄存方式可自行设置(可左移,右移,一位移,多位移位寄存)。 3.2.2双向移位寄存器的设计
电路符号:双向移位寄存器工作原理框图。如图3.1所示。
TDIRREG CLK OP—L DIN OP—R DIR
图3.1 双向移位寄存器原理框图
双向移位寄存器由VHDL程序实现,源代码参附录一。
15
第三章 移位寄存器设计
3.2.3串入串出(SISO)移位寄存器的设计
电路符号:串入串出(SISO)移位寄存器工作原理框图。如图3.2所示。
SISO DATA_IN DATA_OUT CLK
图3.2 串入串出(SISO)移位寄存器图元符号
串入串出(SISO)移位寄存器由VHDL程序实现,源代码参附录二。 3.2.4串入并出(SIPO)移位寄存器的设计
电路符号:串入并出(SIPO)移位寄存器工作原理框图。如图3.3所示。
SIPO D_IN D_OUT[3?0] CLK
图3.3 串入并出(SIPO)移位寄存器工作框图
串入并出(SIPO)移位寄存器由VHDL程序实现,源代码参附录三。 3.2.5移位寄存器的设计总结
根据上述设计,移位寄存器可以被用作一个简单的延迟电路。许多双向移位
16
商洛学院学位论文
寄存器可以在并行传输中作为堆栈的硬件实现方式。串入并出形式的移位寄存器经常与微处理器连接,因为它需要的引脚数多于微处理器能够提供的数量。通过使用移位寄存器,只要两三个引脚,而被控制设备的控制位分别连接在移位寄存器的并行输出端。由此,微处理器可以根据串行的方式一次写入这些设备的各个控制位。
通过上述设计的原理框图,我们将在下一章内容中对其进行时序仿真,并进行仿真结果分析。
17
第四章 系统仿真
第四章 系统仿真
仿真功能为设计者提供验证设计逻辑和时序正确性的环境。一般地,若设计者已经得到了硬件电路板或开发板,那么建议设计者跳过整个工程的仿真过程而直接在调试阶段进行验证。这样做的原因是用户的计算机大都不能满足要求,而比较大的工程的仿真需要很大的计算量,从而会耗费很多的时间。但是,一些运算量小的底层模块的功能验证可以借助仿真来实现;如果用户具备硬件电路板或开发板,仿真最好只用于一些小的模块的功能和时序的验证。
Quartus II允许用户使用EDA仿真工具或Quartus II Simulator对设计进行功能验证与时序仿真。期中,Quartus II Simulator可以对工程中的任何设计进行仿真。根据所需的信息类型,可以进行功能仿真以测试设计的逻辑功能,也可以进行时序仿真,在目标器件中测试设计的逻辑功能和最坏情况下的时序,或者采用Fast Timing模型进行时序仿真,在最坏的器件速率等级上仿真可能快的时序条件。Quartus II软件可以仿真整个设计,也可以仿真设计的任何部分。用户可以指定工程中的任何设计实体为顶层设计实体,并仿真顶层实体及其所有附属设计实体。
Quartus II 软件仿真包括一下四个步骤: (1)建立波形输入文件; (2)设置节点的验证时序; (3)设置仿真参数; (4)运行时序仿真。
4.1双向移位寄存器仿真图分析
双向移位寄存器的仿真图,如图4.1所示。
图 4.1 双向移位寄存器仿真图
对其仿真图进行仿真分析:dir为一个控制信号,clk为时钟控制信号,din为输入信号,表示要存入的数据,op_r表示右移(从高位到低位)后得到的结果,
18
商洛学院学位论文
op_l表示左移(从低位到高位)后得到的结果。如图所示:当dir为0时,op_r输出的是右移的结果,遇到一个clk的下降沿时,输入数据右移一位。op_l输出的是左移的结果,遇到一个clk的下降沿时,输入数据左移一位。当dir为1时,op_r与op_l与上述相反。
4.2串入串出(SISO)移位寄存器仿真图分析
串入串出(SISO)移位寄存器的仿真图,如图4.2所示。
图4.2串入串出(SISO)移位寄存器的仿真图
对其仿真图进行仿真分析:clk为时钟控制信号,data_in为输入信号,表示要存入的数据。
data_out为输出信号,表示输出的数据。如图所示:当data_in串行输入数据时,遇到一个时钟信号clk,输入数据向右移位,并串行输出数据。
4.3串入并出(SIPO)移位寄存器仿真图分析
串入并出(SIPO)移位寄存器的仿真图,如图4.3所示。
图4.3 串入并出(SIPO)移位寄存器仿真图
对其仿真图进行仿真分析:clk为时钟控制信号,d_in为串行输入信号,d_out为四位并行输出信号,串行输入信号四位为一组,该信号一位一位的按顺序存入寄存器。如图所示:当串行输入四位数据时,输出一次性并行输出。
19