【计算机原理与结构】实验2《算术逻辑运算电路设计》

这是课程《计算机原理与结构》的实验2《算术逻辑运算电路设计》的实验内容。本文作者的专业性不高(因为我没怎么学明白TT),只是因为做实验时走了不少弯路,想记录一下,给后来做这个实验的朋友当个参考,希望大家都少走点弯路,以及祝大家实验都能顺利做出来。

实验用到的项目是ALUDemo。

百度云盘下载(当然老师会在带同学做实验的时候发的):

链接:https://pan.baidu.com/s/1Qh4jZ-0dfAasLdWCXK9S3Q?pwd=m4kz 
提取码:m4kz 

实验前需要准备的:

最好使用Quartus的正版(或者破解版),而不只是试用版。虽然试用版大部分功能是完备的,但可能会导致最后一步运行Programmer时无法成功运行出来,也就是单片机上看不到运行结果。

(虽然我是有sof文件的,但我也没跑出来TT)

就我自己而言,我把单片机连在自己电脑上做实验,用的是试用版的Quartus,没有跑出结果:每次点击start之后progress就会提示failed,很有可能就是这里的原因。如果你使用了破解版,就需要注意自己的license是否真的配置成功。你可以在编译时看看能否顺利通过,一般情况下如果编译报了error的错,提示了license的问题,那就说明你的license没有配好,破解不完整

订购版和试用版的详细区别可以参考下面的文章(留给专业大佬作参考哈哈哈,我初学这方面,不是很懂_(:з」∠)_

(76条消息) Quartus II 订购版 和 网络版 软件功能 区别_quartus 订阅板和web_gioc的博客-CSDN博客https://blog.csdn.net/gioc/article/details/84648416

另外,实验1和3用试用版是没问题的。只是本文的实验2最好使用订购版或破解版。


实验2《算术逻辑运算电路设计》

一、实验目的

1. 掌握:如何采用Verilog设计组合逻辑电路;

2. 掌握:Quartus II 的外设器件引脚配置;

3. 了解:FPGA驱动USE-Blaster的安装。

二、实验内容

试用SystemVerilog设计一个四位二进制算术逻辑运算电路,完成加减两个基本算术运算和与或两个基本逻辑运算,采用FPGA开发版上的SW[1]-SW[6]作为输入,LEDR[1]-LEDR[8]作为输出(条件限制,可以模拟)。

三、实验方法

1. 设置Divices及其参数;

2. 设置引脚;

3. 编译后模拟、打开;

4. 安装USB-Blaster;

5. 运行Programmer,观察单片机运行结果。

四、实验步骤

逻辑运算电路设计思路参考如下:

1.设置Divices及其参数

在Quartus下打开simpleALU项目,找到Project Navigator(如果找不到,可以按照下图所示的步骤选中Project Navigator,就能显示了)。

在如下图所示的地方右键,选择Device,找到实验室使用的设备和家族,注意不要找错了,否则后续的引脚配置将出现问题。 

 

点击编译,编译完成后可以查看设备的信息。

2.设置引脚

找到下图所示的Pin Planner,按照红皮书指导手册(或者老师发的文件)进行引脚配置。

配置情况如下:

3.打开ModelSim进行模拟

按照下图的指示打开RTL Simulation,打开ModelSim。

如果报错说打不开ModelSim,那么检查一下有没有写好ModelSim的相关路径。选择Tools下的Options,进行如图所示的修改然后点击确认(ModelSim的路径写自己对应的下载路径),再进行上面的步骤即可。

打开ModelSim后设置希望看到的波形,点击运行进行模拟,结果如下。

4.安装USB-Blaster

 将实验器材接入电脑,然后在电脑的设备管理器里找到USB-Blaster的选项,然后右键点击更新驱动程序,详细可参考这篇教程:https://blog.csdn.net/quanqueen/article/details/109266720

这里根据个人电脑软硬件的差异,可能会遇到安装有问题的情况。仅我自己的情况而言,我出现了A driver can't load on this device的警告。win11为我提供的提示如下:A driver can't load on this device - Microsoft Supporthttps://support.microsoft.com/en-us/windows/a-driver-can-t-load-on-this-device-8eea34e5-ff4b-16ec-870d-61a4a43b3dd5

说明需要在Windows安全中心内的内存完整性关闭,然后重启。

5.运行

回到Quartus,点击Programmer。

按照下图步骤,添加sof文件。 

添加后界面如下。

 

然后点击Hardware Setup设置硬件,如果此前USB-Blaster设置成功的话,此处会显示对应的硬件设备。

最后再点击左侧的Start,即可在单片机上看到实验效果。 

五、实验结果

ModelSim模拟结果如下:

(我自己没能在FPGA上面跑出结果,所以图就不放了;网上有图片大家可以自己找一下)

六、实验结论

(一)实验结果分析

Modelim模拟如下:

X=2,Y=4,C=00,表示Z = X + Y = 6;

X=4,Y=2,C=01,表示Z = X - Y = 2;

X=4,Y=2,C=10,表示Z = X AND Y = 0;

X=4,Y=2,C=11,表示Z = X OR Y = 6。

(二)实验思考

1.如何采用加法器完成加减乘除四个算术运算?

(1)加法

两个二进制的相加结果是用一个异或门实现的;两个二进制的进位结果是用一个与门来实现的。加法器本身即可实现加法运算。

(2)减法

乘法主要由加法器和移位运算实现。二进制下,被乘数直接和乘数的第N位与,结果左移N位(例:和第0位与的结果左移0位,和第6位与的结果左移6位),结果相加,然后进入下一位进行下次循环即可。

(3)减法

减数取补,然后再相加。

(4)除法

首先对齐除数和被除数,对齐后相减,如果结果大于等于0,则记录商1;如果结果小于0,则记录商0,之后右移,结果作为下次运算的被除数,并将商左移;循环这个过程,直到除数移回原位,并记录余数。

2.如何在计算机中安装USB驱动程序usb-blaster?

(安装过程参考下文)

学习日记——USB-Blaster 的驱动安装http://t.csdn.cn/i005E3.如何在Quartus II中分配FPGA引脚?如何处理暂不用的引脚?

 (分配处理参考下文)

FPGA学习记录 - Quartus II 未使用管脚设置为三态输入 - vonly - 博客园 (cnblogs.com)https://www.cnblogs.com/vonly/p/5572814.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值