sopc实验指导书(1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CON目录
第一章实验箱简介 (2)
第二章EDA实验单元 (5)
实验一七人表决器 (5)
实验二格雷码变换 (13)
实验三BCD码加法器 (15)
实验四四位全加器 (17)
实验五四人抢答器 (19)
实验六四位并行乘法器 (20)
实验七设计基本触发器 (21)
实验八设计74LS169计数器功能模块 (25)
实验九步长可变的加减计数器 (27)
实验十可控脉冲发生器 (28)
实验十一正负脉宽数控调制信号发生器 (30)
实验十二序列检测器 (32)
实验十三四位并行流水乘法器 (34)
实验十四出租车计费器 (37)
实验十五多功能数字钟 (39)
实验十六数字秒表 (41)
实验十七频率计 (43)
实验十八交通灯控制器 (45)
实验十九数码锁 (47)
实验二十VGA彩条发生器 (49)
附录 (51)
第一章实验箱简介
EDA/SOPC实验箱是集EDA和SOPC开发为一体的综合性实验箱,它不仅可以独立完成几乎所有的EDA设计,也可以完成大多数的SOPC开发。
采用Altera公司的Cyclone系列的12万门FPGA为核心,整个系统采用模块化设计,各个模块之间可以自由组合,使得该实验箱的灵活性大大提高。
同时实验箱还提供了丰富的接口模块,供人机交互,从而大大增加了实验开发者开发的乐趣,满足了普通高等院校、科研人员等的需求。
开发工程师可以使用VHDL语言、Verilog HDL语言、原理图输入等多种方式,利用Altera公司提供的Quartus II及Nios软件进行编译,下载,并通过EDA/SOPC实验箱进行结果验证。
实验箱提供多种人机交互方式,如键盘阵列、按键、拨挡开关输入;七段码管、大屏幕图形点阵LCD显示;串口通信;VGA接口、PS2接口、USB接口、Ethernet接口等,利用Altera 公司提供的一些IP资源和Nios 32位处理器,用户可以在该实验箱上完成不同的SOPC设计。
EDA/SOPC实验箱提供的资源有:
●Altera公司的EP1C6Q240C8,12万门级FPGA,另外可选配更高
资源的FPGA
●FPGA配置芯片采用可在线变成的EPC2,通过JTAG口和简单的
跳线即可完成设计的固化
●1个数字时钟源,提供48MHz、12MHz、1MHz、100KHz、10KHz、
1KHz、100Hz、10Hz、2Hz和1Hz等多个时钟
●1个模拟信号源,提供频率和幅度可调的正弦波、三角波和方波
●两个串行接口,一个用于SOPC开发时的调试,另一个可以完成
其它的通信
●1个VGA接口
●1个PS2接口,可以接键盘或鼠标
●1个USB接口,利用PDIUSBD12芯片实现USB协议转换
●1个Ethernet接口,利用RTL8019芯片实现TCP/IP协议转换
●基于SPI接口的音频CODEC模块
●1个输入、输出探测模块,供数字信号的观察
●16个LED显示
●8个拨挡开关输入
●8个按键输入
●1个4X4键盘阵列
●8个七段码管显示
●1个扬声器模块
●1个交通灯模块
●1个直流电机模块
●1个高速AD和1个高速DA
●240×128大屏幕图形点阵LCD显示
●存储器模块提供256K×32Bit的SRAM和2M×8Bit的FLASH
ROM
实验箱基本布局如下图1-1所示:
图1-1 EDA/SOPC 试验箱系统布局
下面就部分模块做简要介绍。
FPGA模块
FPGA采用Altera公司提供的Cyclone系列的EP1C6Q240C8,该芯片采用240脚的PQFP封装,提供185个IO接口。
该芯片拥有5980个LEs;20个M4K RAM Block;总共可以提供92160Bit的RAM;另外芯片内部还自带有2个锁相环,可以在高速运行的时候保证系统时钟信号的稳定性。
FPGA与实验箱上提供的各个模块都已经连接好(详情请查看附录1),这样就避免了实验过程中繁琐的连线以及由于连线造成的不稳定的后果。
配置模块
本实验箱的配置芯片采用可在线多次编程的EPC2,该芯片通过JTAG (与FPGA共用,通过跳线选择)下载,即可完成FPGA设计的固化。
这样就避免了用户需要多条电缆或者需要编程器才能完成固化的任务,同时也方便了用户只需一条下载电缆即可完成FPGA的配置和EPC2的编程。
时钟模块
时钟的产生由有源晶振产生48MHz的时钟信号,再由CPLD分频完成
多种时钟信号的产生。
时钟信号已经在系统板上连接到FPGA的全局时钟引脚(PIN_28),只需要通过时钟模块的简单跳线,即可完成FPGA时钟频率的选择。
USB模块
USB模块采用Philips公司的PDIUSBD12芯片,它通常用作微控制器系统中实现与微控制器进行通信的高速通用并行接口。
它还支持本地的DMA传输。
PDIUSBD12完全符合USB1.1版的规范、它还符合大多数器件的分类规格:成像类、海量存储器件、通信器件、打印设备以及人机接口设备。
另外该芯片还集成了许多特性,包括SoftConnect TM、GoodLink TM、可编程时钟输出、低频晶振和终止寄存器集合,所有这些特性都为系统显著的节约了成本,同时使USB功能在外设上的应用变得容易。
存储器模块
实验箱上提供了256K×32Bit的SRAM和2M×8Bit的FLASH ROM,其中SRAM主要是为了在开发SOPC是存放可执行代码和程序中用到的变量,而FLASH则是用来固化调试好的SOPC代码等。
SRAM选用两片ISSI 公司的IS61LV25616(256K×16Bit)进行数据线并联从而扩展为256K×32Bit的存储区;FLASH ROM采用的是AMD公司的AM29LV017D,其容量为2Mbyte。
Ethernet模块
Ethernet模块采用的TCP/IP转换芯片为RTL8019AS芯片,该芯片是一款高集成度、全双工以太网控制器,内部集成了三级省电模式,由于其便捷的接口方式,所以成了多数系统设计者的首选。
RTL8019AS支持即插即用标准,可以自动检测设备的接入,完全兼容Ethernet II以及IEEE802.3 10BASE5、10BASE2、10BASET等标准,同时针对10BASET还支持自动极性修正的功能,另外该芯片还有很多其他功能,此处不再赘述。
高速AD&高速DA
本实验箱中采用的高速AD为TLC5510,TLC5510是一个8位高速AD,其最高转换速率可到20MSPS,单5V供电,被广泛的应用在数字电视、医疗图象、视频会议等高速数据转换的领域。
本实验箱中采用的高速DA位TLC5602,该芯片也是一个单5V供电的8位高速DA,其最高转换输率可到33M,足以满足一般数据处理的场合。
240×128图形点阵LCD
本实验箱所用的图形点阵LCD为240×128点,可以用来显示图形、曲线、文本、字符等等。
显示模块内嵌有T6963C控制器,在该液晶显示模块上已经实现了行列驱动器及显示缓冲区RAM的接口,同时也硬件设置了液晶的结构:单屏显示、80系列的8位微处理器接口、显示屏长度为30个
字符、宽度为16个字符等。
第二章EDA实验单元
实验一七人表决器
一实验目的
1.熟悉Quartus II软件的使用。
2.熟悉EDA/SOPC实验箱。
3.熟悉EDA开发的基本流程。
二硬件需求
1.EDA/SOPC实验箱一台。
三实验原理
所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。
七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4人时,则认为同意;反之,当否决的票数大于或者等于4人时,则认为不同意。
实验中用7个拨挡开关来表示七个人,当对应的拨挡开关输入为‘1’时,表示此人同意;否则若拨挡开关输入为‘0’时,则表示此人反对。
表决的结果用一个LED表示,若表决的结果为同意,则LED被点亮;否则,如果表决的结果为反对,则LED不会被点亮。
四实验内容
本实验就是利用EDA/SOPC实验箱中的拨挡开关模块和LED模块来实现一个简单的七人表决器的功能。
拨挡开关模块中的K1~K7表示七个人,当拨挡开关输入为‘1’时,表示对应的人投同意票,否则当拨挡开关输入为‘0’时,表示对应的人投反对票;LED模块中LED1_1表示七人表决的结果,当LED1_1点亮时,表示一致同意,否则当LED1_1熄灭时,表示一致反对。
拨挡开关K1~K7以及LED1_1与FPGA的引脚连接请查看附录一。
五实验步骤
完成七人表决器的实验步骤如下:
1.选择开始>程序>Altera>Quartus II 4.0,运行Quartus II软件。
2.选择File>New Project Wizard,新建一个工程。
3.在introduction中点击next。
4.指定工作目录,如E:/SOPC。
5.指定工程核顶层设计实体名称,如exp1。
见图2-1。
6.点击3次next。
7.选择FPGA器件:选择Cyclone,并在Do you want to assign a specific device?选项中选择Yes,并点击next。
见图2-2。
图2-1 指定工程名称及目录
图2-2 选择器件
8.首先在Speed选项中选择8,然后再选择EP1C6Q240C8器件。
见图2-3。
图2-3 选择具体的FPGA
9.点击Finish,工程文件建立结束。
10.点击File>New,新建一个VHDL文件。
见图2-4。
图2-4 新建VHDL文件
11.点击OK,并点击File>Save,无需做任何更改,点击OK即可。
见图2-5。
图2-5 存储新建的VHDL文件
12.按照自己的想法,在新建的VHDL文件中编写VHDL程序(可参考光盘中【实验内容/EDA实验/example1/exp1.vhd】)。
13.代码书写结束后,选择Processing>Start Compilation对编写的代码进行编译,直到编译通过。
14.编译通过后,选择File>New,在弹出的对话框中点击Other Files,选择Vector Waveform File,并点击OK,建立一个波形文件。
见图2-6。
图2-6 新建波形文件
15.点击File>Save,在弹出的对话框中点击OK即可。
见图2-7。
图2-7 存储新建的波形文件
16.在波形文件中点击鼠标右键,选择Insert Node or Bus,在弹出的对话框中点击Node Finder,在新弹出的对话框中的Filter中选择Pins:all,然后点击List,这样在Nodes Founder区域就会出现先前VHDL文件中定义的输入、输出端口,然后再点击>>,选择OK即可,然后在Insert Node or Bus 对话框中也选择OK。
见图2-8。
图2-8 节点查找对话框
17.对加入到波形文件中的输入端点,进行初始值设置,然后点击Processing>Start Simulation,在弹出对话框中点击Yes。
系统开始仿真。
18.仿真结束后,查看仿真结果是否符合实验要求。
19.仿真无误后,根据附录一的引脚对照表,对实验中用到的拨挡开关及LED进行管脚绑定。
选择Assignments>Assign Pins,会出现管脚分配对话框,如图2-9所示。
图2-9 引脚分配
20.首先在Available Pins & Existing中选择对应的引脚,然后在Assignment中的Pin name中输入VHDL设计中对应的端口名称,如K1对应Pin58,则先选中Number中的58,在Pin name中键入K1,然后在点击Add即可,如图2-10所示。
图2-10 分配K1引脚
21.重复步骤20,对所有的端口进行分配。
对于未使用到的引脚,作为3态输入即可,因此选择Reserve Pin,在下拉菜单中选择As input tri-stated,按OK即可。
如图2-11所示。
图2-11 引脚分配对话框
22.对于复用的引脚,需要做进一步处理。
选择Device & Pin Options,在弹出的对话框中首先选择Configuration标签,在Configuration中选择Passive Serial(can use Configuration Device)一项,再选择Dual Purpose Pins 标签,在ASD0,NCE0选项中选择Use as regular IO,如图2-12所示。
配置结束后点击确认即可。
图2-12 复用引脚配置对话框
23.在剩下的Settings对话框中点击OK。
然后再编译一次。
24.编译无误后,用下载电缆通过JTAG接口将对应的ex1.sof文件下
载到FPGA中。
(下载时注意勾选program/configure项, 所有.sof和.pof文件都要勾选)
25.拨动拨挡开关,观察实验结果是否与自己的仿真结果相吻合。
实验二格雷码变换
一实验目的
1.了解格雷码变换的原理。
2.进一步熟悉Quartus II软件的使用。
3.熟练掌握EDA/SOPC实验箱的使用。
二硬件需求
1.EDA/SOPC实验箱一台。
三实验原理
格雷(Gray)码是一种可靠性编码,在数字系统中有着广泛的应用。
其特点是任意两个相邻的代码中仅有一位二进制数不同,因而在数码的递增和递减运算过程中不易出现差错。
但是格雷码是一种无权码,要想正确而简单的和二进制码进行转换,必须找出其规律。
根据组合逻辑电路的分析方法,先列出其真值表再通过卡诺图化简,可以很快的找出格雷码与二进制码之间的逻辑关系。
其转换规律为:高位同,从高到低看异同,异出‘1’,同出‘0’。
也就是将二进制码转换成格雷码时,高位是完全相同的,下一位格雷码是‘1’还是‘0’,完全是相邻两位二进制码的“异”还是“同”来决定。
下面举一个简单的例子加以说明。
假如要把二进制码10110110转换成格雷码,则可以通过下面的方法来完成,方法如图2-13。
图2-13 格雷码变换示意图
因此,变换出来的格雷码为11101101。
四实验内容
本实验要求完成的任务是变换8位的二进制码到8位的格雷码。
实验中用拨挡开关模块的K1~K8表示8位二进制输入,用LED模块的LED1_1~LED1_8来表示转换的实验结果。
实验LED亮表示对应的位为‘1’,LED
灭表示对应的位为‘0’。
拨挡开关及LED与FPGA的引脚连接请查看附录一。
五实验步骤
完成格雷码转换的实验步骤如下:
1.首先打开Quartus II软件,新建一个工程,并新建一个VHDL File。
2.按照自己的想法,编写VHDL程序(可参考光盘中【实验内容/EDA 实验/example2/exp2.vhd】)。
3.对自己编写的VHDL程序进行编译并仿真。
4.仿真无误后,根据附录一的引脚对照表,对实验中用到的拨挡开关及LED进行管脚绑定,然后再重新编译一次。
5.用下载电缆通过JTAG接口将对应的sof文件下载到FPGA中。
6.观察实验结果是否与自己的预期想法相吻合。
实验三BCD码加法器
一实验目的
1.了解BCD码的构成。
2.了解BCD码加法器的原理。
3.巩固对Quartus II的使用。
4.进一步熟悉EDA/SOPC实验箱。
二硬件需求
1.EDA/SOPC实验箱一台。
三实验原理
BCD码是二进制编码的十进制码,也就是用4位二进制数来表示十进制中的0~9这十个数。
由于4位二进制数有0000~1111共16种组合,而十进制数只需对应4位二进制数的10种组合,故从4位二进制数的16种组合中取出10种组合来分别表示十进制中的0~9,则有许多不同的取舍方式,于是便形成了不同类型的BCD码。
本实验我们只针对最简单的情况,也是最常见的BCD码,就是用4位二进制的0000~1001来表示十进制的0~9,而丢弃4位二进制的1010~1111共6种组合,这样一来,就相当于用4位二进制的0~9对应十进制的0~9。
这样的BCD码进行相加时会出现两种可能,一种可能是当两个BCD 码相加的值小于10时,结果仍旧是正确的BCD码;另外一种可能是当两个码相加的结果大于或者等于10时,就会得到错误的结果,这是因为4位二进制码可以表示0~15,而BCD码只取了其中的0~9的原因。
对于第二种错误的情况,有一个简单的处理方法就是作加6处理,就会得到正确的结果。
下面举例说明第二种情况的处理过程。
假如A=(7)10=(0111)2=(0111)BCD,B=(8)10=(1000)2=(1000)BCD,那么A+B=(15)10=(1111)2≠(0001 0101)BCD。
但是对于(1111)2+(0110)2=(0001 0101)2=(0001 0101)BCD。
因此在程序设计时要注意两个输入的BCD码相加结果是否会出现大于或等于10的情况,如果是则必须作加6的修正处理。
四实验内容
本实验的任务就是要完成一个简单的BCD码加法器。
具体的实验过程就是利用EDA/SOPC实验箱上的拨挡开关模块的K1~K4作为一个BCD码输入,K5~K8作为另一个BCD码输入,用LED模块的LED1_1~LED1_4
来作为结果的十位数输出,用LED1_5~LED1_8来作为结果的个位数输出,LED亮表示输出‘1’,LED灭表示输出‘0’。
五实验步骤
完成BCD码加法器的实验步骤如下:
1.首先打开Quartus II软件,新建一个工程,并新建一个VHDL File。
2.按照自己的想法,编写VHDL程序(可参考光盘中【实验内容/EDA 实验/example3/exp3.vhd】)。
3.对自己编写的VHDL程序进行编译并仿真。
4.仿真无误后,根据附录一的引脚对照表,对实验中用到的拨挡开关及LED进行管脚绑定,然后再重新编译一次。
5.用下载电缆通过JTAG接口将对应的sof文件下载到FPGA中。
6.观察实验结果是否与自己的预期想法相吻合。
实验四 四位全加器
一 实验目的
1. 了解四位全加器的工作原理。
2. 掌握基本组合逻辑电路的FPGA 实现。
3. 熟练应用Quartus II 进行FPGA 开发。
二 硬件需求
1.EDA/SOPC 实验箱一台。
三 实验原理
全加器是由两个加数X i 和Y i 以及低位来的进位C i-1作为输入,产生本位和S i 以及向高位的进位C i 的逻辑电路。
它不但要完成本位二进制码X i 和Y i 相加,而且还要考虑到低一位进位C i-1的逻辑。
对于输入为X i 、Y i 和C i-1,输出为S i 和C i 的情况,根据二进制加法法则可以得到全加器的真值表如下表2-1
表2-1 全加器真值表
由真值表得到S i 和C i 的逻辑表达式经化简后为:
i
i i i i i i i i Y X C Y X C C Y X S +⊕=⊕⊕=--11)(
这仅仅是一位的二进制全加器,要完成一个四位的二进制全加器,只需
要把四个级联起来即可。
i
四实验内容
本实验要完成的任务是设计一个四位二进制全加器。
具体的实验过程就是利用EDA/SOPC实验箱上的拨挡开关模块的K1~K4作为一个X输入,K5~K8作为另一个Y码输入,用LED模块的LED1_5~LED1_8来作为结果S输出,用LED1_1~LED1_4来作为结果的进位输出,LED亮表示输出‘1’,LED灭表示输出‘0’。
五实验步骤
完成四位全加器的实验步骤如下:
1.首先打开Quartus II软件,新建一个工程,并新建一个VHDL File。
2.按照自己的想法,编写VHDL程序(可参考光盘中【实验内容/EDA 实验/example4/exp4.vhd】)。
3.对自己编写的VHDL程序进行编译并仿真。
4.仿真无误后,根据附录一的引脚对照表,对实验中用到的拨挡开关及LED进行管脚绑定,然后再重新编译一次。
5.用下载电缆通过JTAG接口将对应的sof文件下载到FPGA中。
6.观察实验结果是否与自己的预期想法相吻合。
实验五四人抢答器
一实验目的
1.熟悉四人抢答器的工作原理。
2.加深对VHDL语言的理解。
3.掌握EDA开发的基本流程。
二硬件需求
1.EDA/SOPC实验箱一台。
三实验原理
抢答器在各类竞赛性质的场合得到了广泛的应用,它的出现,消除了原来由于人眼的误差而未能正确判断最先抢答的人的情况。
抢答器的原理比较简单,首先必须设置一个抢答允许标志位,目的就是为了允许或者禁止抢答者按按钮;如果抢答允许位有效,那么第一个抢答者按下的按钮就将其清除,同时记录按钮的序号,也就是对应的按按钮的人,这样做的目的是为了禁止后面再有人按下按钮的情况出现。
总的说来,抢答器的目的就是在抢答允许位有效后,第一个按下按钮的人将其清除以禁止再有按钮按下,同时记录清除抢答允许位的按钮的序号并显示出来,这就是抢答器的实现原理。
四实验内容
本实验的任务是设计一个四人抢答器,用按键模块的S5来做抢答允许按钮,用S1~S4来表示1号抢答者~4号抢答者,同时用LED模块的LED2_1~LED2_4分别表示抢答者对应的位子。
具体要求为:按下S5一次,允许一次抢答,这时S1~S4中第一个按下的按键将抢答允许位清除,同时将对应的LED点亮,用来表示对应的按键抢答成功。
五实验步骤
完成四人抢答器的实验步骤如下:
1.首先打开Quartus II软件,新建一个工程,并新建一个VHDL File。
2.按照自己的想法,编写VHDL程序(可参考光盘中【实验内容/EDA 实验/example5/exp5.vhd】)。
3.对自己编写的VHDL程序进行编译并仿真。
4.仿真无误后,根据附录一的引脚对照表,对实验中用到的拨挡开关及LED进行管脚绑定,然后再重新编译一次。
5.用下载电缆通过JTAG接口将对应的sof文件下载到FPGA中。
6.观察实验结果是否与自己的预期想法相吻合。
实验六四位并行乘法器
一实验目的
1.了解四位并行乘法器的原理。
2.了解四位并行乘法器的设计思想。
3.掌握用VHDL语言实现基本二进制运算的方法。
二硬件需求
1.EDA/SOPC实验箱一台。
三实验原理
实现并行乘法器的方法有很多种,但是归结起来基本上分为两类,一类是靠组合逻辑电路实现,另一类通过流水线结构实现。
流水线结构的并行乘法器的最大优点就是速度快,尤其是在连续输入的乘法器中,可以达到近乎于单周期的运算速度,但是实现起来比组合逻辑电路要稍微复杂一些。
下面就组合逻辑电路实现无符号数乘法的方法作详细介绍。
假如有被乘数A和乘数B,首先用A与B的最低位相乘得到S1,然后再把A左移1位与B的第2位相乘得到S2,再将A左移3位与B的第三位相乘得到S3,依此类推,直到把B的所有位都乘完为止,然后再把乘得的结果S1、S2、S3……相加即得到相乘的结果。
需要注意的是,具体实现乘法器是,并不是真正的去乘,而是利用简单的判断去实现,举个简单的例子。
假如A左移n位后与B的第n位相乘,如果B的这位为‘1’,那么相乘的中间结果就是A左移n位后的结果,否则如果B的这位为‘0’,那么就直接让相乘的中间结果为‘0’即可。
待B 的所有位相乘结束后,把所有的中间结果相加即得到A与B相乘的结果。
四实验内容
本实验的任务是实现一个简单的四位并行乘法器,被乘数A用拨挡开关模块的K1~K4来表示,乘数B用K5~K8来表示,相乘的结果用LED 模块的LED1_1~LED1_8来表示,LED亮表示对应的位为‘1’。
五实验步骤
完成四位并行乘法器的实验步骤如下:
1.首先打开Quartus II 软件,新建一个工程,并新建一个VHDL File 。
2.按照自己的想法,编写VHDL 程序(可参考光盘中【实验内容/EDA 实验/example6/exp6.vhd 】)。
3.对自己编写的VHDL 程序进行编译并仿真。
4.仿真无误后,根据附录一的引脚对照表,对实验中用到的拨挡开关 及LED 进行管脚绑定,然后再重新编译一次。
5.用下载电缆通过JTAG 接口将对应的sof 文件下载到FPGA 中。
6.观察实验结果是否与自己的预期想法相吻合。
实验七 设计基本触发器
一 实验目的
1. 了解基本触发器的工作原理。
2. 学习Quartus II 中基于原理图设计的流程。
二 硬件需求
1.EDA/SOPC 实验箱一台。
三 实验原理
基本触发器的电路如下图2-14所示。
它可以由两个与非门交叉耦合组
图2-14 基本触发器电路图
成,也可以由两个或非门交叉耦合组成。
现在以两个与非门组成的基本触发器为例,来分析其工作原理。
根据与非逻辑关系,可以得到基本触发器的状
1 0 1 1 0 0 不定
1 1 0 0
1 1 1 1
0 0 0 不定
0 0 1 不定
表2-2 基本触发器状态转移真值表
根据真值表,不难写出其特征方程:
其中式(2)为约束条件。
四实验内容
本实验的任务就是利用Quartus II软件的原理图输入,产生一个基本触发器,触发器的形式可以是与非门结构的,也可以是或非门结构的。
实验中用按键模块的用K1和K5来分别表示R和S,用LED模块的LED1_1和
LED1_5分别表示Q和Q。
在R和S满足式(2)的情况下,观察Q和Q的变化。
五实验步骤
完成基本触发器的实验步骤如下:
1.首先打开Quartus II软件,新建一个工程,并新建一个Block Diagram/Schematic File。
见图2-15。
图2-15 新建原理图文件
2.在新建的原理图中双击鼠标左键,在弹出的Symbol对话框中的Name 栏中输入nand2(在右侧的窗口中就会出现一个二输入与非门符号),并打开Repeat-insert mode选项(此选项使得用户易于增加一个符号的多个实例)。
见图2-16。
3.点击OK,在原理图文件中点击两次鼠标左键,然后点击鼠标右键并选择Cancel。
此时,可以看到原理图中就会出现两个与非门。
然后按照图2-10对其进行连线。
见图2-17。
4.再次双击鼠标左键,在弹出的Symbol对话框中的Name栏中输入
图2-16 在Sysmbol对话框中输入与非门
图2-17 正确连接后的原理图
图2-18 输入input实例
input,然后点击OK,在原理图中输入两个input实例,见图2-18。
同样的步骤,在输入两个output实例。
5.把输入输出实例与原理图中的端口进行连接,并修改输入输出的Pin_Name分别为:输入为R和S,输出为Q和nQ。
见图2-19。
图2-19 完整的原理图
6.点击File>Save,按照默认的值,点击OK即可。
到此为止就完成了一个RS触发器的原理图输入。
该文件存储的名称为exp7.bdf。
7.对自己画的bdf文件进行编译并仿真。
9.仿真无误后,根据附录一的引脚对照表,对实验中用到的拨挡开关及LED进行管脚绑定,然后再重新编译一次。
10.用下载电缆通过JTAG接口将对应的sof文件下载到FPGA中。
11.观察实验结果是否与自己的真值表相吻合。
实验八设计74LS169计数器功能模块
一实验目的
1.了解74LS169的工作原理。
2.进一步学习Quartus II中基于原理图设计的流程。
二硬件需求
1.EDA/SOPC实验箱一台。
三实验原理
74LS169是二进制计数器中应用最多、功能最全的计数器之一,它有以下几个特点:
●时钟上升沿触发CLK
●可预制计数器初值LDN
●可递增、递减计数U/DN
●两个计数器控制允许端ENTN/ENPN
●输出翻转标志TCN(当计数器递增到15或者递减到0时,有一个
低有效的标志位会持续一个周期的时间)
74LS169的具体工作过程是在LDN为低电平的时候,将输入的D值装载到Q输出端,如果ENTN和ENPN都为低电平,那么计数器将在CLK的上升沿作用下动作,具体是递增还是递减由U/DN来决定,当U/DN为高电平时,计数器在时钟作用下递增,当增加到Q=1111时,TCN变低并持续一个周期的时间,在Q=0000的时候再次变高;当U/DN为低电平时,计数器在时钟作用下递减,当递减到Q=0000时,TCN变低并持续一个周期的时间,在Q=1111的时候再次变高。
具体的工作时序图如下页图2-20所示。
四实验内容
本实验要完成的任务就是在Quartus II里面调用库里面自带的74169模块,观察其工作时序,并下载到芯片中观察其实际工作过程。
实验时为了便于观察,实验箱的时钟模块的时钟选择1Hz时钟,用拨挡开关的K1~K4作为计数器的输入D,K5和K6作为计数器的控制允许ENTN和ENPN信号,K7作为加减计数控制信号U/DN,用按键开关模块的S1作为LDN信号(注意:由于计数器采用的是1Hz时钟,而装载数据实在时钟信号的上升沿作用下进行,所以要想正确的加载预制数据,S1按键必须按住至少1s钟以上才可以),用LED 模块的LED1_1~LED1_4作为计数器的输出Q指示,用LED1_8作为计数器的输出翻转信号TCN指示。
五实验步骤
完成74LS169计数器功能模块的实验步骤如下:
1.首先打开Quartus II软件,新建一个工程,并新建一个Block Diagram/Schematic File。
2.在原理图中分别加入74169计数器实例,然后再加入两个输入端和两个输出端并修改其名称。
(可参考光盘中【实验内容/EDA实验/example8/exp8.bdf】)。
3.对自己画的bdf文件进行编译并仿真。
4.仿真无误后,根据附录一的引脚对照表,对实验中用到的拨挡开关及LED进行管脚绑定,然后再重新编译一次。
5.用下载电缆通过JTAG接口将对应的sof文件下载到FPGA中。