机组实验报告.docx

上传人:b****2 文档编号:2317630 上传时间:2022-10-28 格式:DOCX 页数:31 大小:1.87MB
下载 相关 举报
机组实验报告.docx_第1页
第1页 / 共31页
机组实验报告.docx_第2页
第2页 / 共31页
机组实验报告.docx_第3页
第3页 / 共31页
机组实验报告.docx_第4页
第4页 / 共31页
机组实验报告.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

机组实验报告.docx

《机组实验报告.docx》由会员分享,可在线阅读,更多相关《机组实验报告.docx(31页珍藏版)》请在冰豆网上搜索。

机组实验报告.docx

机组实验报告

实验1连续节拍发生电路设计实验

一、实验内容

掌握节拍发生器的设计方法,理解节拍脉冲发生器的工作原理。

二、实验原理

1.连续节拍发生电路

连续节拍发生电路由四个D触发器组成,可产生四个等间隔的时序信号T1-T4。

其中CLK1为时钟信号。

当RST1为低电平时,T1输出为“1”,而T2、T3、T4输出为“0”;当RST1由低电平变为高电平后,T1-T4将在CLK1的输入脉冲作用下,周期性轮流的输出正脉冲,机器进入连续运行状态(EXEC)。

T1-T4以及CLK1、RST的工作波形如下所示。

图1-1连续节拍发生电路

2.单步节拍发生电路

将图1-1电路稍加改变即可得到图1-2所示的单步运行电路。

每当RST1出现一个负脉冲后,该电路仅输出一组T1、T2、T3、T4节拍信号,直到RST1出现下一个负脉冲。

图1-2单步节拍发生电路

3.单步/连续节拍发生电路

增加两个2选一多路选择器,可将1-2的电路改变为1-3的电路。

S0是单步或连续节拍发生控制信号,当S0=0,选择单步运行模式;当S0=1,选择连续运行方式。

图1-3单步/连续节拍发生电路

三、实验任务

1.连续节拍发生电路

示例顶层文件是T4.bdf。

硬件电路如图1-1所示。

下载T4.sof文件,选择实验模式No.1,CLOCK0接4Hz,键8控制RST1,高电平时可以看到,发光管1-4分别显示T1-T4的输出电平。

实验结果与书上的仿真波形图比较。

2.单步节拍发生电路

用单步节拍发生电路可以对微程序进行单步调试运行,电路如1-2所示。

该电路每当RST1出现一个负脉冲后,仅输出一组T1、T2、T3、T4节拍信号,直到RST1出现下一个负脉冲。

顶层文件是T5.bdf。

下载T5.sof文件,选择实验模式No.1,CLOCK0接4Hz,键8控制RST1。

实验结果与书上的仿真波形图比较。

3.单步/连续节拍发生电路

增加两个2选1多路选择器,可将图1-2的电路改变为图1-3的电路。

S0是单步或连续节拍发生控制信号,当S0=0,选择单步运行方式;当S0=1,选择连续运行方式。

顶层文件是TS5.bdf。

下载TS5.sof文件,选择实验模式No.1,CLOCK0接4Hz,键8控制RST1。

实验结果与书上的仿真波形图比较。

四、实验步骤

五、1.软件编译

2.仿真波形图

a.连续节拍发生电路

图1-4连续节拍发生电路

b.单步节拍发生电路

图1-5单步节拍发生电路

c.单步/连续节拍发生电路

图1-6单步/连续节拍发生电路

3.分析报告

a.连续节拍发生电路

高电平时可以看到,发光管1-4分别显示T1-T4的输出电平。

b.单步节拍发生电路

每出现一个负脉冲,发光管1-4分别显示T1-T4的输出电平一次。

c.单步/连续节拍发生电路

发光管1-4分别显示T1-T4的输出电平。

六、问题分析

1.单步运行于连续运行有何区别,它们各自的使用环境怎样?

单步运行只运行固定时钟周期的信号,而连续运行会一直发生信号。

2.如何实现单步/连续运行工作方式的切换?

使用S0引脚控制21MUX的2选1控制端。

当S0=0时,Y=A,为单步方式;当S0=1时,Y=B,为连续方式。

3.给出每个电路的原理图分析说明为何能产生所需节拍。

对于实验任务2特别要对比没有t5输入时的仿真时序图,借此说明t5的作用。

任务1由四个D触发器组成,可产生四个等间隔的时序信号T1-T4。

当RST1为低电平时,T1输出为1,而T2、T3、T4输出为0;当RST1由低电平变为高电平后,T1-T4将在CLK1的输入脉冲作用下,周期性地轮流输出正脉冲;

任务2中,每当RST1出现一个负脉冲后,该电路仅输出一组T1、T2、T3、T4节拍信号,直到RST1出现下一个负脉冲;没有T5时,一个周期结束后,下一个时钟信号到来时,会进入下一周期,为连续节拍发生器;有T5时,在一个周期结束后,T5=1,所有触发器收得的时钟信号始终为1,不会有下一个时钟信号上升沿到来,为单步节拍发生器。

在任务3中,S0为单步或连续节拍发生控制信号,可以选择运行方式。

实验2LPM_ROM与LPM_RAM

一、实验内容

1.LPM_ROM

掌握FPGA中LPM_ROM的设置,作为只读存储器ROM的工作特性和配置方法;用文本编辑器编辑MIF文件配置ROM,学习将程序代码以MIF格式文件加载于LPM_ROM中;在初始化存储器编辑窗口编辑MIF文件配置ROM;验证FPGA中LPM_ROM的功能。

2.LPM_RAM

了解FPGA中RAMlpm_ram_dq的功能;掌握lpm_ram_dq的参数设置和使用方法;掌握lpm_ram_dq作为随机存储器RAM的仿真测试方法、工作特性和读写方法。

二、实验原理

1.LPM_ROM

程序存储器是用来存放用户程序的,通常采用只读存储器ROM来存储程序。

CPU中的一些重要部件,如RAM、ROM等,可直接调用LPM模块构成。

图2-1LPM_ROM

图2-2rom_a.mif

2.LPM_RAM

数据存储器存放运算数据及中间结果,一般采用随机存储器RAM来实现其功能。

CPU中的一些重要部件,如RAM、ROM等,可直接调用LPM模块构成。

图2-3LPM_RAM

三、实验任务

1.LPM_ROM

用图形编辑设计LPM_ROM。

要求:

用LPM元件库设计LPM_ROM,地址总线宽度address[]和数据总线宽度q[]分别为6位和24位;建立相应的工程文件,设置LPM_ROM数据参数,LPM_ROM配置文件的路径(ROM_A.mif),并设置在系统ROM/RAM读写允许,以便能对FPGA中的ROM在系统读写;锁定输入输出引脚;完成全程编译;下载SOF文件至FPGA,改变LPM_ROM的地址a[5..0],外加读脉冲,通过实验台上的数码管比较读出的数据是否与初始化数据(rom4.mif中的数据)一致;打开QuartusII的在系统存储模块读写工具,了解FPGA中的ROM中的数据,并对其进行在系统写操作;记录实验数据,写出实验报告,给出仿真波形图。

2.LPM_RAM

数据从ram_dp0的左边D[7..0]输入,从右边Q[7..0]输出,R/W——为读/写控制信号端。

数据的写入:

当输入数据和地址准备好以后,在inclock是地址锁存时钟,当信号上升沿到来时,地址被锁存,数据写入存储单元。

 数据的读出:

从A[7..0]输入存储单元地址,在CLK信号上升沿到来时,该单元数据从Q[7..0]输出。

四、实验步骤

1.软件编译

2.仿真波形图

a.LPM_ROM

图2-4ROM读写情况

b.LPM_RAM

图2-5RAM读写情况

图2-6仿真波形图

4.分析报告

a.LPM_ROM

24位数据输出由数码管8-3显示,六位地址由键2、键1输入,键1负责低四位,地址锁存时钟CLK由键8控制,每一次上升沿,将地址锁入,数码管8-3将显示ROM中输出的数据。

发光管8-1显示输入的6位地址值。

b.LPM_RAM

通过键1、键2输入RAM的8位数据,键3、键4输入存储器的8位地址。

键8控制读写允许,低电平时读允许,高电平时写允许;键7(CLK0)产生读写时钟脉冲,即生成写地址锁存脉冲,对lpm_ram_dq进行写/读操作。

五、问题分析

如何建立lpm_ram_dq的数据初始化,如何导入和存储lpm_ram_dq参数文件?

生成一个MIF文件,并导入以上的RAM中。

数据从左边D[7..0]输入,从右边Q[7..0]输出。

在lpm_ram_dq中可以加入初始化文件(如:

5_ram.mif)。

首先控制读出初始化数据,与载入的初始化文件中的数据进行比较,然后控制写入一些数据,再读出比较;写入的数据也可以在读写窗口中观察mif文件的变化,导入的数据存储在mif文件中。

实验3程序计数器PC与地址寄存器AR实验

一、实验内容

掌握地址单元的工作原理;掌握PC的两种工作方式,加1计数和重装计数器初值的实现方法;掌握地址寄存器AR从程序计数器PC获得数据和从内部总线BUS获得数据的实现方法。

二、实验原理

a.采用总线多路开关联接方式

地址单元主要由三部分组成:

程序计数器PC、地址寄存器AR和多路开关BUSMUX。

程序计数器PC用以指出下一条指令在主存中的存放地址,CPU正是根据PC的内容去存取指令的。

因程序中指令是顺序执行的,所以PC有自增功能。

程序计数器提供下一条程序指令的地址,如图4-64所示,在T4时钟脉冲的作用下具有自动加1的功能;在LDPC信号的作用下可以预置计数器的初值(如子程序调用或中断相应等)。

当LDPC为高电平时,计数器装入data[]端输入的数据。

aclr是计数器的清0端,高电平有效(高电平清零);aclr为低电平时,允许计数器正常计数。

地址寄存器AR(DFF_8)锁存访问内存SRAM的地址。

地址寄存器AR的地址来自两个渠道,一是程序计数器PC的输出,通常是下一条指令的地址;二是来自于内部数据总线的数据,通常是被访问操作数的地址。

为了实现对两路输入数据的切换,在FPGA的内部通过总线多路开关BUSMUX进行选择。

LDAR与多路选择器的sel相连,当LDAR为低电平,选择程序计数器的输出;当LDAR为高电平时,选择内部数据总线的数据。

图3-1采用总线多路开关联接方式

b.采用PC、AR通过三态门lpm_bustri与BUS连接

程序计数器PC与地址寄存器AR结合,产生对存储器RAM进行读写的地址。

地址单元主要由三部分组成:

程序计数器PC、地址寄存器AR和三态门lpm_bustri。

程序计数器PC用以指出下一条指令在主存中的存放地址,CPU正是根据PC的内容去存取指令的。

程序计数器提供下一条程序指令的地址,在时钟脉冲PC_CLK的作用下具有自动加1的功能;在LOAD_PC信号的作用下可以预置计数器的初值(如子程序调用或中断响应等)。

当LOAD_PC为高电平时,计数器装入data[7..0]端输入的数据。

RST是计数器的清零端,高电平有效(高电平清零);RST为低电平时,允许计数器正常计数。

地址寄存器AR采用锁存器lpm_latch结构,锁存访问内存SRAM的地址。

图3-2采用PC、AR通过三态门lpm_bustri与BUS连接

三、实验任务

a.采用总线多路开关联接方式

按照图4-1,程序计数器原理图编辑、输入电路,实验台选择0工作模式。

对输入原理图进行编译、引脚锁定、并下载到实验台。

首先下载pc_unit.sof,用模式键选模式“0”,再按一次右侧的复位键;键2和键1可输入8位总线数据B[7..0](此值显示于发光管D1~D8和数码管2/1);CLR(键5)按2次(010),产生一正脉冲,高电平清零;LDAR(键6)=0时,BUSMUX输出程序计数器PC的值;LDAR=1时,BUSMUX输出B[7..0]总线数据。

LDPC(键7):

程序计数器PC预置控制端,当LDPC=1时,将B[7..0]总线数据装入程序计数器PC;当LDPC=0时,程序计数器PC处于计数自动工作状态,对T4进行计数;T4(键8):

程序计数器PC的计数时钟CLK,键8按动两次产生一个计数脉冲。

 通过B[7..0]设置程序计数器的预加载数据。

当LDPC=0时,观察程序计数器自动加1的功能;当LDPC=1时,观察程序计数器加载输出情况。

b.采用PC、AR通过三态门lpm_bustri与BUS连接

按照图4-2,对程序计数器原理图进行编辑、输入电路,采用LPM库中的元件lpm_latch锁存器、lpm_counter计数器和lpm_bustri总线三态输出缓冲器进行设计,选择电路模式No.0。

四、实验步骤

1.软件编译

2.仿真波形图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1