北科大第二次计组实验报告超前进位加法器.docx
- 文档编号:30120577
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:12
- 大小:502.08KB
北科大第二次计组实验报告超前进位加法器.docx
《北科大第二次计组实验报告超前进位加法器.docx》由会员分享,可在线阅读,更多相关《北科大第二次计组实验报告超前进位加法器.docx(12页珍藏版)》请在冰豆网上搜索。
北科大第二次计组实验报告超前进位加法器
北京科技大学计算机与通信工程学院
实验报告
实验名称:
超前进位加法器
学生姓名:
专业:
计算机科学与技术
班级:
学号:
指导教师:
实验成绩:
实验地点:
实验时间:
2015年5月28日
1、实验目的与实验要求
1、实验目的
(1)掌握静态随机存储器的基本结构;
(2)掌握静态随机存储器RAM工作特性及数据的读写方法;
(3)掌握超前进位加法器的原理及其设计方法;
(4)理解使用超前进位逻辑设计ALU的方法;
(5)掌握乘法器的原理及其设计方法;
(6)熟悉FPGA应用设计及QuartusⅡ软件的使用。
2、实验要求
(1)验证静态随机存储器的读写功能;
(2)用QuartusⅡ软件设计一个超前进位加法器;
(3)用QuartusⅡ软件设计一个阵列乘法器。
二、实验设备(环境)及要求
Window8,QuartusⅡ软件
三、实验内容与步骤
1、实验1
(1)实验内容
验证静态随机存储的读写功能:
(2)主要步骤
①关闭实验系统电源,在断电状态下按图3.15所示连接实验电路,并检查无误。
②将时序单元的状态开关置为“单步”档,MEM单元的编程开关置为“运行”档。
③将CON单元的IOR开关置为1(使IN单元无输出),打开电源开关,如果听到有“嘀”报警声,说明有总线竞争现象,应立即关闭电源,重新检查接线,直到错误排除。
④给存储器写入数据:
要先写地址,后写数据。
写存储器的流程如图3.16所示(以向00地址单元写入11H为例):
读存储器的流程如图3.17所示(以从00地址单元读出11H为例):
⑤根据对实验原理的描述,以向03H地址单元写入数据33H为例,填写表3.6.中的操作步骤以及相关信号状态。
在以从03H地址单元读取数据为例,填写表3.7中的操作步骤及相关的信号状态。
2、实验2
(1)实验内容
用QuartusⅡ软件设计一个8位超前进位加法器。
(2)主要步骤
①打开QuartusⅡ软件,进入软件初始界面;
②通过File→New→BlockDiagram/SchematicFile选项,建立原理图文件;
③添加原件和连接线:
分别在原理图上画出A、B模块,保存原理图文件,通过File→Create/Update→CrateSymbolFilesforFile选项,把A、B原理图转换为元件符号。
再建立一个原理图文件,按照图3.8接线。
原理图如下:
A模块
B模块
④完成原理图后,过File→NewProjectWizard选项,建立一个新工程,在建立时候在AddFiles窗口添加原理图文件;
⑤进行功能仿真。
通过Processing→GenerateFunctionalSimulationNetlist选项产生功能仿真网络表。
有了功能仿真网络表,就可以对工程进行功能仿真。
通过File→New或者单击工具按钮
新建一个VectorWaveformFile向量波形文件;
⑥在向量波形文件窗口中,在Name下方空白处右击,在弹出的快捷菜单中选择Insert→InsertNodeorBus菜单项,或者在Name正文空白处双击弹出InsertNodeorBus对话框,单击NodeFinder按钮,进行信号的添加;添加a、b、C0,s信号,a、b,s设为十进制值,a、b设置为随机值,C0置零,保存文件;
⑦通过Assignments→Settings选项或者单击工具按钮
进行仿真设置;更改Simulationmode为Functional,选择仿真输入为刚刚新建的向量波形文件。
完成设置后,通过Processing→StartSimulation选项或者单击工具按钮
进行功能仿真,仿真结果为下图:
3、实验3
(1)实验内容
用QuartusⅡ软件设计一个4*4阵列乘法器。
(2)主要步骤
①打开QuartusⅡ软件,进入软件初始界面;
②通过File→NewProjectWizard选项,建立一个新工程;
③通过File→New选项或单击工具按钮
,在工程里新建VerilogHDL代码文件,保存文件,在QuartusⅡ提供的代码编辑器里进行代码编辑:
modulechengfa(a,b,p);
input[3:
0]a,b;
outputreg[7:
0]p;
integerc;
always@(aorb)
begin
{c,p[0]}=a[0]*b[0];
{c,p[1]}=a[1]*b[0]+a[0]*b[1]+c;
{c,p[2]}=a[2]*b[0]+a[1]*b[1]+a[0]*b[2]+c;
{c,p[3]}=a[3]*b[0]+a[2]*b[1]+a[1]*b[2]+a[0]*b[3]+c;
{c,p[4]}=a[3]*b[1]+a[2]*b[2]+a[1]*b[3]+c;
{c,p[5]}=a[3]*b[2]+a[2]*b[3]+c;
{c,p[6]}=a[3]*b[3]+c;
p[7]=c;
end
endmodule
④完成代码编写后,通过Processing→Start→StartAnalysis&Synthesis选项或者单击工具按钮
进行QuartusⅡ工程的语法与综合编译;编译无误后,通过Tools→NetlistViewers→RTLViewer选项可以生成综合后的电路结构图;
⑤完成编译与综合后,进行功能仿真。
通过Processing→GenerateFunctionalSimulationNetlist选项产生功能仿真网络表。
有了功能仿真网络表,就可以对工程进行功能仿真。
通过File→New选项或者单击工具按钮
新建一个VectorWaveformFile向量波形文件;
⑥在向量波形文件窗口中,在Name下方空白处右击,在弹出的快捷菜单中选择Insert→InsertNodeorBus菜单项,或者在Name正文空白处双击弹出InsertNodeorBus对话框,单击NodeFinder按钮,进行信号的添加;添加a、b、p信号,a、b、p设置为十进制值,a、b设置为随机值;保存文件;
⑦通过Assignments→Settings选项或者单击工具按钮
进行仿真设置;更改Simulationmode为Functional,选择仿真输入为刚刚新建的向量波形文件。
完成设置后,通过Processing→StartSimulation选项或者单击工具按钮
进行功能仿真,仿真结果为下图:
四:
实验结果与分析
1、实验1
表3.6存储器写操作流程
信号
步骤
IN单元置地址
地址打入AR
IN单元置输出
数据打入MEM
WR
0
0
0
1
RD
0
0
0
0
IOM
0
0
0
0
IOR
0
0
0
0
LDAR
0
1
0
0
T2
0
按一下
按一下
表3.7存储器读操作流程
信号
步骤
IN单元置地址
地址打入AR
关闭IN单元输出
读出MEM数据
WR
0
0
0
0
RD
0
0
0
1
IOM
0
0
0
0
IOR
0
0
1
1
LDAR
0
1
0
0
T2
0
按一下
2、实验2
经验证,上图的结果是正确的。
3、实验3
经验证,上图的结果是正确的。
五:
结论(讨论)
1、实验结论
(1)基本掌握了静态随机存储器的基本结构;
(2)学会了用实验箱进行静态随机存储器数据的读写;
(3)基本掌握了超前进位加法器的原理及其设计方法;
(4)基本掌握了乘法器的原理及其设计方法。
2、讨论
存在的问题:
编写程序的速度太慢了,而且不会把程序下载到实验箱,并且进行接线使用。
改进方向:
要多看verilog教程,提高编程速度。
在下次实验中学会实验箱使用方法。
六、教师评审
教师评语
实验成绩
签名:
日期:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北科大 第二次 实验 报告 超前 进位 加法器