1、洛 阳 理 工 学 院 实 验 报 告系 部 计 算 机 与 信 息 工 程 系 班 级 B090507 学 号 B09050704 姓 名 李 慧 敏课程名称 PLD 原理与应用 实验日期 10.26实验名称 移 位 模 式 可 控 的 8 位 移 位 寄 存 器 设 计 成绩实验目的:1、熟悉 QUARTUS开发环境;2、熟悉工程、文件、实体、结构体的建立,编译、修改、仿真。3、 熟 悉 移 位 寄 存 器 的 原 理 及 设 计 方 法 。实验条件:装有 QUARTUS软件的电脑实验内容与步骤:利用Quartus设计系统之前,应该先建立一个文件夹,此文件夹可作为Quartus默认的工作库
2、。Quartus中任何一项设计都是一项工程,在工程设计过程中,会产生许多仅扩展名不同的同名文件,放在同一个文件夹下,便于统一管理。出于同样的原因,不同的设计项目最好放在不同的文件夹中。1编辑文件(1)启动 Quartus双击桌面上的 Quartus图标或单击开始按扭,启动 Quartus。(2)编辑文件单击标题栏中的 FileNew 对话框,单击 New 对话框的 Device Design Files选项卡,选择编译文件的语言类型,这里选择 VHDL Files,选好后单击【OK】按钮,打开 VHDL 文本编辑器窗口,并在其中输入如图所示的程序,这是一个与门的 VHDL 程序。1 - 1 带
3、进位循环左移 SHIFT 工程的 VHDL 程序输入完成之后,单击 FileSave As 选项,将编辑的文本文件存在已建立的文件夹 C:MATLAB16worSHIFT 下,存盘文件名应该与 VHDL 程序的实体名一致,即SHIF.vhd。2创建工程(1)打开建立新工程向导单击 FileNew Project Wizard 菜单,出现新建工程向导对话框,单击【Next】按钮,在最上面的输入框中输入工作库文件夹的地址,输入C:MATLAB16workSHIF(2) 将设计文件加入工程中单击 New Project Wizard 对话框中【Next】按钮,将与本工程有关的文件加入。(3)结束设置
4、最后单击【Finish】按钮,结束设置。3编译(1)编译单击标题栏中的 ProcessingStart Compilation 选项,启动全程编译。(2) 阅读编译报告编译成功后可以看到编译报告。左边栏目是编译处理信息目录,右边是编译报告。这些信息也可以在 Processing 菜单下的 Compilation Report 处见到。4仿真仿真就是对设计项目进行一项全面彻底的测试,以确保设计项目的功能和时序特性符合设计要求,保证最后的硬件器件的功能与原设计相吻合。(1) 建立波形文件仿真前必须建立波形文件,单击 FileNew 选项,打开文件选择窗口,然后单击 Other Files 选项卡,
5、选择其中的 Vector Waveform File 选项。(2) 打开波形编辑器单击【OK】按钮,即出现空白的波形编辑器。(3)输入信号节点单击 ViewUtility WindowsNode Finder 选项。在该对话框的 Filter 空白栏中选 Pins:all,然后点击【list】按钮。在下方的 Nodes Found 窗口中会出现了设计工程的所有端口管脚名。(4) 编辑输入波形利用按钮,分别给输入管脚编辑波形。(5) 启动仿真及阅读仿真报告单击标题栏中的 ProcessingStart Simulation 选项,即可启动仿真器。4- 1 带进位循环左移 SHIFT 工程的的仿真
6、波形5分析波形分析程序可知:当时钟信号CLK、MD或进位输入C0中任一信号发生变化,都将启动进程语句PROCESS。此时如果CLK触发且CLK为高电平时:若MD=001时,则执行带进位循环左移的操作;若MD=010时,则执行自循环左移的操作;若MD=011时,则执行自循环右移的操作;若MD=100时,则执行带进位循环右移的操作;若MD=101时,则执行加载待移数据的操作;否则,执行保持原数据的操作。移位后REG中的数据由QB端口输出,CY进位由CN端口输出。分析仿真波形:图4-2为仿真波形的部分截图,由图可知,在50ns时,为CLK的上升沿且MD=101,此边沿将并行口D的数据(1001101
7、0)加载于移位寄存器中;此后的三个上升沿,MD=110、111、000,数据保持不变;在90ns时,CLK处于上升沿且MD=001,此边沿将并行口D的数据带进位循环左移;在105ns时,CLK处于上升沿且MD=010,此边沿将并行口D的数据自循环左移。 仿真波形与程序的分析结果相吻合,达到实验要求,可见仿真的正确性。含同步并行预置功能的8位移位寄存器的设计重新启动 Quartus,在 C:MATLAB16work下新建一个工程文件夹 mux21a 即将编辑的文本文件存在已建立的文件夹 C:MATLAB16workSHFT 下,存盘文件名应该与 VHDL程序的实体名一致,其他步骤不变。1. 输入
8、 VHDL 程序4- 2 含同步并行预置功能的 8 位移位寄存器的设计工程的 VHDL 程序输入完成之后,单击 FileSave As 选项,将编辑的文本文件存在已建立的文件夹 C:MATLAB16workSHFT 下,存盘文件名应该与 VHDL 程序的实体名一致,即mux21a.vhd。输入完成之后,单击 FileSave As 选项,将编辑的文本文件存在已建立的文件夹 C:MATLAB16workSHFT 下,存盘文件名应该与 VHDL 程序的实体名一致,即SHFT.vhd。建立新工程,并将设计文件添加到工程中。单击标题栏中的 ProcessingStart Compilation 选项,
9、启动全程编译。编译成功后进行仿真。仿真前必须建立波形文件,单击 FileNew 选项,打开文件选择窗口,然后单击 Other Files 选项卡,选择其中的 Vector Waveform File 选项。2. 编辑输入波形单击标题栏中的 ProcessingStart Simulation 选项,即可启动仿真器进行仿真。3. 仿真结果4- 3 含同步并行预置功能的 8 位移位寄存器的仿真波形实 验 总 结 :通 过 此 次 试 验 , 进 一 步 熟 悉 了 QUARTUS开发环境以及工程、文件、实体、结构体的建立,编译、修改、仿真。理解了移位寄存器的编程原理以及移位模式。进一步理解了信号赋值与变量赋值、顺序语句和并行语句、进程语句,以及不完整条件语句的要点和特点。并进一步深入的分析了 VHDL 语言的含义以及在程序中的作用,程序的含义也深入的分析了一下,并学会了如何用程序去观察仿真结果的正确性,试验是验证真理的唯一标准,通过试验验证了程序以及编程逻辑的正确性,这种编程逻辑值得我们借鉴。