硬件课设教材_第1页
硬件课设教材_第2页
硬件课设教材_第3页
硬件课设教材_第4页
硬件课设教材_第5页
已阅读5页,还剩107页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机硬件计算机硬件课程设计课程设计中国民航大学 计算机科学与技术学院刘玉洁刘玉洁 编著编著目 录第第 1 章章 GW48 EDA/SOPC 实验系统概要说明实验系统概要说明.11.1 GW48 EDA/SOPC 系列主系统的原理和使用方法.11.2 实验电路结构图说明.5第第 2 章章 VHDL 基础基础知知识识.122.1 VHDL 简介 .122.2 VHDL 结构 .152.3 VHDL 基本语法 .212.4 顺序语句与并行语句.25第三章第三章 软硬件操作流程软硬件操作流程.343.1 十进制计数器的设计流程.343.2 引脚设置和下载.393.3 SignalTapII 实时测试

2、 .42第四章第四章 QUARTUS 基本程序设计与实现基本程序设计与实现.464.1 应用 QuartusII 完成基本组合电路设计.464.2 七段数码显示译码器设计.484.3 设计含异步清 0 和同步时钟使能的加法计数器.52第五章第五章 计算机功能模块设计计算机功能模块设计.565.1 8 位 CPU 功能与结构.565.2 CPU 中的基本部件.575.3 数据通路设计.615.4 程序存储器与数据存储器.625.5 程序计数器与地址寄存器.715.6 指令寄存器.735.7 指令译码器与控制器.735.8 时序产生器.76第六章、第六章、8 位位 CISC 计算机设计计算机设计.

3、786.1 8 位 CPU 结构.786.2 指令系统的结构及功能的确定.806.3 八位 CISC-CPU 的硬件系统设计.86第七章第七章 实验实验与与设计要求设计要求.977.1 课内实验.977.2 课后实验.1047.3 进阶实验.1071第 1 章 GW48 EDA/SOPC 实验系统概要说明1.1 GW48 EDA/SOPC 系列主系统的原理和使用方法本章介绍 GW48 系列的 EDA/SOPC 实验系统,它是由主系统和适配板两大部分组成,下面来一一介绍,以下是对 GW48 系统主板标识进行注释,重要以及常用的部件说明以黑体字表示。 1、选择键及模式数码显示、选择键及模式数码显示

4、,按动按键,数码显示“1-B” ,该电路结构能仅通过一个键,完成纯电子切换的方式,Multi-task Reconfiguration 电路结构(多功能重配置结构)选择十余种不同的实验系统硬件电路连接结构。该系统的实验电路结构是可控的。即可通过控制接口键,使之改变连接方式以适应不同的实验需要。因而,从物理结构上看,实验板的电路结构是固定的,但其内部的信息流在主控器的控制下,电路结构将发生变化重配置。模式切换使用举例:若模式键选中了“实验电路结构图 NO.1” ,这时的 GW48 系统板所具有的接口方式变为:FPGA/CPLD 端口 PI/O3128(即PI/O31、PI/O30、PI/O29、

5、PI/O28) 、PI/O2724、PI/O2320 和 PI/O1916 ,共 4 组 4 位二进制 I/O 端口分别通过一个全译码型 7 段译码器输向系统板的 7 段数码管。这样,如果有数据从上述任一组四位输出,就能在数码管上显示出相应的数值,其数值对应范围为:FPGA/CPLD 输出000000010010 1100110111101111数 码 管 显 示 0 1 2 C D E F端口 I/O3239 分别与 8 个发光二极管 D8D1 相连,可作输出显示,高电平亮。还可分别通过键 8 和键 7,发出高低电平输出信号进入端口 I/049 和 48 ;键控输出的高低电平由键前方的发光二

6、极管 D16 和 D15 显示,高电平输出为亮。此外,可通过按动键 4 至键1,分别向 FPGA/CPLD 的 PIO0PIO15 输入 4 位 16 进制码。每按一次键将递增 1,其序列为1,2,9,A,F。注意,对于不同的目标芯片,其引脚的 I/O 标号数一般是同 GW48 系统接口电路的“PIO”标号是一致的,但具体引脚号是不同的,而在逻辑设计中引脚的锁定数必须是该芯片的具体的引脚号。具体对应情况需要参考表 1-2。 2、 “系统复位健系统复位健” ,在对 FPGA 下载以后,按动此键,起到稳定系统作用;在实验中,当选中某种模式后,要按一下右侧的复位键,以使系统进入该结构模式工作。注意此

7、复位键仅对实验系统的监控模块复位,而对目标器件 FPGA 没有影响,FPGA 本身没有复位的概念,上电后即工作,在没有配置前,FPGA 的 I/O 口是随机的,故可以从数码管上看到随机闪动,配置后的 I/O 口才会有确定的输出电平。3 、键、键 1 键键 8 8 :为实验信号控制键,此 8 个键受“多任务重配置”电路控制,它在每一张电路图中的功能及其与主系统的连接方式随模式选择键的选定的模式而变,使用中需参照第二节中的电路图。4 4 、发光管、发光管 D1D1 D16D16 :受“多任务重配置”电路控制,它们的连线形式也需参照第二节的电路图。5 5 、数码管、数码管 1 1 8 8,左侧跳线冒

8、跳,左侧跳线冒跳“ENAB“ENAB”端端受“多任务重配置”电路控制,跳“CLOSE”端,8 数码管为动态扫描模式,具体引脚请参考图 1-5。6 6 、扬声器、扬声器:与目标芯片的“SPEAKER”端相接,通过此口可以进行奏乐或了解信号的频率,它与目标器件具体引脚号,应该查阅图 1-5 及表 1-2。7 7 、十芯口、十芯口,FPGA IO 口输出端,可用康芯提供的十芯线或单线外引,IO 引脚名在其边上标出, GW48-PK2/4 和 GW48-PK3 标引的 IO 口不同一一对应再根据芯片型号查找表。2注意,此 IO 口受多任务重配置控制,在模式控制下或 “9” 选用了这些脚,在此就不能复用

9、。图 1-1:GW48-PK38、十四芯口十四芯口,和 7 相同。9、电平控制开关电平控制开关,作为 IO 口输入控制,每个开关 IO 口锁定引脚在其上方已标出引脚名,用法和其它 IO 口查表用法一样,注意 1,此 IO 口受多任务重配置控制,在模式控制下选用了这些脚,或 7、8,在此就不能复用。注意 2,这些开关在闲置时必须打到上面,高电平上“H” 。10、 “时钟频率选择时钟频率选择” :通过短路帽的不同接插方式,使目标芯片获得不同的时钟频率信号。对于“CLOCK0” ,同时只能插一个短路帽,以便选择输向“CLOCK0”的一种频率:信号频率范围:0.5Hz20MHz。由于 CLOCK0 可

10、选的频率比较多,所以比较适合于目标芯片对信号频率或周期测量等设计项目的信号输入端。右侧座分三个频率源组,它们分别对应三组时钟输入端:CLOCK2、CLOCK5、CLOCK9。例如,将三个短路帽分别插于对应座的2Hz、1024Hz 和 12MHz,则 CLOCK2、CLOCK5、CLOCK9 分别获得上述三个信号频率。需要特别注意的是,每一组频率源及其对应时钟输入端,分别只能插一个短路帽。也就是说最多只能提供 4 个时钟频率输入 FPGA:CLOCK0、CLOCK2、CLOCK5、CLOCK9,这四组对应的 FPGA IO 口详见表 1-2。11、AD0809AD0809 模拟信号输入端电位器模

11、拟信号输入端电位器,转动电位器,通过它可以产生 0V+5V 幅度可调的电压,输入通道 AD0809 IN0 。12、比较器比较器 LM311LM311 控制口控制口。可用单线连接,若与 D/A 电路相结合,可以将目标器件设计成逐次比较型 A/D 变换器的控制器。313、DA0832DA0832 模拟信号插孔模拟信号插孔输出方式。14、DA0832DA0832 的数字信号输入口的数字信号输入口,8 位控制口在边上已标出,可用十芯线和 7 相连,进行 FPGA 产生数字信号对其控制实验。15、DA0832DA0832 模拟信号钩针模拟信号钩针输出方式。16、10K10K 的电位器的电位器,可对 D

12、A0832 所产生的模拟信号进行幅度调谐。17、AD0809AD0809 的控制端口的控制端口,可用十四芯线与 8 相连。18、CPLDCPLD EPM3032EPM3032 编程端口编程端口,可用随机提供的 ByteBlasterMV 编程器进行对其编程。19、AD0809AD0809 模拟输入口模拟输入口。20、CPLDCPLD EPM3032EPM3032 的的 IOIO 口口,可外引,引脚在边上已标出,一一对应就是。21、1616 个个 LEDLED 发光管发光管,引脚在其下方标出,注意,此 IO 口受多任务重配置控制,在模式控制下选用了这些脚,在此就不能复用。22、数字温度测控脚数字

13、温度测控脚,可用单线连接。23、 VGAVGA 端口端口,其控制端口在左边已标出:R:PIO68、G:PIO69、B:PIO70、HS:PIO70、VS:PIO73。24、 两组拨码开关两组拨码开关,用于 PK4 彩色 LCD 控制端口连接,在控制 LCD 实验时,拨码开关拨到下方,以此 FPGA 与 LCD 端口相连,引脚在两侧已标出,一一对应。注意,此 IO 口受多任务重配置控制,不能重复使用。不做此实验时,必须把拨码开关拨到上方25、DDSDDS 模块上模块上 FPGAFPGA EP1C3EP1C3 的的 IOIO 口口,此口可与 DA0832 数据口 14 相连,可提供 DDS的模拟参

14、考信号 B 通道波形输出。26、DDSDDS 模块插座模块插座,具体 DDS 用法请参考第三节。27、 FPGAFPGA 与与 PCPC 机并口通信口机并口通信口,FPGA 引脚在两侧已标出。28、 DDSDDS 模块模块 A 通道的幅度和偏移调谐旋钮。29、 E 平方串行存储器的控制端口。可用单线连接。30 、 I2C 总线控制端口,可用单线连接。31 、 DDS 模块信号输入输出脚,每个功能在边上已经标出,具体请参考第三节 DDS模块功能说明。32 、 配右边 DDS 模块同 28。33 、 模拟可编程器件扩展区。34 、 配右边 DDS 模块同 31。35 、 右边 DDS 模块插座,具

15、体 DDS 用法请参考第三节.36 、 红外测直流电机座,控制脚在 39“CNT”37 、 直流单机控制脚在 39。38 、 四项八拍步进电机,控制脚在 39。39 、 十芯口,直流电机、步进电机和红外测速控制端口, “AP、BP、CP、DP”分别是步进电机控制端口, “DM1、DM2”分别是直流电机控制端口, “CNT”是红外测速控制端口,此口可与 42 连接,完成控制电机实验。40、PS2 键盘接口,控制脚在其下方已经标出。41、+/-12V 开关,一般用到 DA 时,打开此开关,未用到+/12V 时,请务必关闭,拨到左边为关,右边为开。42、 FPGA IO 口,可外接。43、PS2 鼠

16、标接口,控制脚在其下方已经标出。44、本公司提供的 IP8051 核的复位键,45、字符液晶 2004/1602 和 4X4 矩阵键盘控制端口,可与 DDS 模块十四芯口相连,4或用于适配板上提供十四芯口相连,完成 IP8051/8088 核实验或与 DDS 模块相连,构成DDS 功能模块。46、FPGA/CPLDFPGA/CPLD 万能插口万能插口图 4 是一块插于主系统板上的目标芯片适配座。对于不同的目标芯片可配不同的适配座。可用的目标芯片包括目前世界上最大的六家 FPGA/CPLD厂商几乎所有 CPLD、FPGA 和所有 ispPAC 等模拟 EDA 器件。47、4X44X4 矩阵键盘矩

17、阵键盘,控制端口在 45 中已经标出,相关原理图请查看光盘系统说明.48、彩色液晶控制用法彩色液晶控制用法,一般默认厂家提供的跳线模式。49、RS-232RS-232 串行通讯接口串行通讯接口:此接口电路是为 FPGA 与 PC 通讯和 SOPC 调试准备的。或使 PC 机、单片机、FPGA/CPLD 三者实现双向通信。对于 GW48-PK3 系统,其通信端口是与中间的双排插座上的 TX30、RX31 相连的。可用单线连接。5050、电平控制开关、电平控制开关,作为 IO 口输入控制,每个开关 IO 口锁定引脚在其上方已标出引脚名,用法和其它 IO 口查表用法一样,注意 1,此 IO 口受多任

18、务重配置控制,在模式控制下选用了这些脚或 7、8,在此就不能复用。注意 2,这些开关在闲置时必须打到上面,高电平上“H” 。51 、 四个十四芯口,左起分别是 FPGA IO 口,240X128 点阵液晶控制端口,两个单片机部分 IO 口,此四口可用十四芯线分别将 FPGA 和液晶口连接,单片机口与液晶口连接,FPGA、单片机和液晶三项连接。引脚在两侧已经标出。52 、单片机 P3.0/1 口,可用单线连接。53 、单片机 89C51 在系统编程口,可通过系统上 57JTAG 口进行对其在系统编程作用编程。54 、ByteBlasterMV 编程配置口:此口有三个用途:编程配置口:此口有三个用

19、途:【1】 、在对适配板 FPGA/CPLD 进行编程时,用十芯线板此口和适配板的“JTAG”口相连。【2】 、如果要进行独立电子系统开发、应用系统开发、电子设计竞赛等开发实践活动,首先应该将系统板上的目标芯片适配座拔下(对于 Cyclone 器件不用拔) ,用配置的 10 芯编程线将“ByteBlasterMV”口和独立系统上适配板上的“JTAG”10 芯口相接,进行在系统编程,进行调试测试。【3】 、对 isp 单片机 89S51 等进行编程。用十芯线同“MCU DAWNLOAD”口相连。55 、单片机 89C51 部分控制端口,可用单线连接。56 、240*128 点阵液晶,资料请查询光

20、盘。57 、调节上面点阵液晶的对比度的电位器。58 、点阵液晶的开关。59 、上面点阵液晶的背光跳线帽。60 、1602 字符液晶,控制端口请参考 455ASDODATA0nCONFIGCONF_DONEDCLKGNDnCSOnCEVCCIOByteBlast IIGNDooooooooooByteBlast(MV)SEL1SEL0GNDTDInSTATMSTDOTCKoooooooooo232.5V3.3V1.8V-12V+12VPIO79PIO78PIO75PIO74PIO73PIO72PIO71PIO70PIO69PIO68CON2CON1PIO77PIO76PIO67PIO66PIO6

21、5PIO64PIO63PIO62PIO61PIO60ooooooooooooooooooooSEL1SEL0oooooooooo14039PIO24PIO22PIO20PIO18PIO16PIO14PIO12PIO10PIO8PIO6PIO4nSTAPIO0PIO2VCCPIO25PIO23PIO21PIO19PIO7PIO17PIO15PIO13PIO11PIO9PIO5PIO3PIO1oooooooooooooooooooooooooGNDTCKTDOTMSTDIooooo24039PIO27PIO26PIO29PIO31PIO33PIO35PIO37PIO39PIO41PIO43PIO4

22、5PIO47PIO49CLOCK0CLOCK2GNDPIO28PIO30PIO32PIO34PIO36PIO38PIO40PIO42PIO44PIO46PIO48SPEAKERCLOCK5CLOCK9VCCoooooooooooooooooooooooooooooooooooooooo 图 1-2 目标板插座 图 1-3 在线编程座1.2 实验电路结构图说明 1 1实验电路信号资源符号图说明实验电路信号资源符号图说明结合附图 1-1,以下对实验电路结构图中出现的信号资源符号功能作出一些说明: (1)附图 1-4a 是 16 进制 7 段全译码器,它有 7 位输出,分别接 7 段数码管的 7 个

23、显示输入端:a、b、c、d、e、f 和 g;它的输入端为 D、C、B、A,D 为最高位,A 为最低位。例如,若所标输入的口线为PIO1916,表示 PIO19 接 D、18 接C、17 接 B、16 接 A。 (2)附图 1-4b 是高低电平发生器,每按键一次,输出电平由高到低、或由低到高变化一次,且输出为高电平时,所按键对应的发光管变亮,反之不亮。 (3)附图 1-4c 是 16 进制码(8421 码)发生器,由对应的键控制输出 4 位 2 进制构成的图 1-4 实验电路信号资源符号图61 位 16 进制码,数的范围是 00001111,即H0 至HF。每按键一次,输出递增 1,输出进入目标

24、芯片的 4 位 2 进制数将显示在该键对应的数码管上。 (4)直接与 7 段数码管相连的连接方式的设置是为了便于对 7 段显示译码器的设计学习。以图 NO.2 为例,如图所标“PIO46-PIO40 接 g、f、e、d、c、b、a”表示PIO46、PIO45.PIO40 分别与数码管的 7 段输入 g、f、e、d、c、b、a 相接。 (5)附图 1-4d 是单次脉冲发生器。每按一次键,输出一个脉冲,与此键对应的发光管也会闪亮一次,时间 20ms。 (6)附图 1-4e 是琴键式信号发生器,当按下键时,输出为高电平,对应的发光管发亮;当松开键时,输出为高电平,此键的功能可用于手动控制脉冲的宽度。

25、具有琴键式信号发生器的实验结构图是 NO.3。2 2各实验电路结构图特点与适用范围简述各实验电路结构图特点与适用范围简述 (1)结构图结构图 NO.0NO.0:目标芯片的 PIO19 至 PIO44 共 8 组 4 位 2 进制码输出,经外部的7 段译码器可显示于实验系统上的 8 个数码管。键 1 和键 2 可分别输出 2 个四位 2 进制码。一方面这四位码输入目标芯片的 PIO11PIO8 和 PIO15PIO12,另一方面,可以观察发光管 D1 至 D8 来了解输入的数值。例如,当键 1 控制输入 PIO11PIO8 的数为HA 时,则发光管 D4 和 D2 亮,D3 和 D1 灭。电路的

26、键 8 至键 3 分别控制一个高低电平信号发生器向目标芯片的 PIO7 至 PIO2 输入高电平或低电平,扬声器接在“SPEAKER”上,具体接在哪一引脚要看目标芯片的类型,这需要查第 3 节的引脚对照表。如目标芯片为 EPEC6/12,则扬声器接在“174”引脚上。目标芯片的时钟输入未在图上标出,也需查阅第 3 节的引脚对照表。例如,目标芯片为 EP2C35,则输入此芯片的时钟信号有 CLOCK0 或 CLOCK9,共 4 个可选的输入端,对应的引脚为 28 或 29。具体的输入频率,可参考主板频率选择模块。此电路可用于设计频率计,周期计,计数器等等。 (2)结构图结构图 NO.1NO.1:

27、适用于作加法器、减法器、比较器或乘法器等。例如,加法器设计,可利用键 4 和键 3 输入 8 位加数;键 2 和键 1 输入 8 位被加数,输入的加数和被加数将显示于键对应的数码管 4-1,相加的和显示于数码管 6 和 5;可令键 8 控制此加法器的最低位进位。 (3)结构图结构图 NO.2NO.2:可用于作 VGA 视频接口逻辑设计,或使用数码管 8 至数码管 5 共 4个数码管作 7 段显示译码方面的实验;而数码管 4 至数码管 1,4 个数码管可作译码后显示,键 1 和键 2 可输入高低电平。(4)结构图结构图 NO.3:特点是有 8 个琴键式键控发生器,可用于设计八音琴等电路系统。也可

28、以产生时间长度可控的单次脉冲。该电路结构同结构图 NO.0 一样,有 8 个译码输出显示的数码管,以显示目标芯片的 32 位输出信号,且 8 个发光管也能显示目标器件的 8 位输出信号。 (5)结构图结构图 NO.4NO.4:适合于设计移位寄存器、环形计数器等。电路特点是,当在所设计的逻辑中有串行 2 进制数从 PIO10 输出时,若利用键 7 作为串行输出时钟信号,则 PIO10的串行输出数码可以在发光管 D8 至 D1 上逐位显示出来,这能很直观地看到串出的数值。(6)结构图结构图 NO.5NO.5:8 键输入高低电平功能,目标芯片的 PIO19 至 PIO44 共 8 组 4 位 2 进

29、制码输出,经外部的 7 段译码器可显示于实验系统上的 8 个数码管。(7)结构图结构图 NO.6NO.6:此电路与 NO.2 相似,但增加了两个 4 位 2 进制数发生器,数值分别输入目标芯片的 PIO7PIO4 和 PIO3PIO0。例如,当按键 2 时,输入 PIO7PIO4 的数值将显示于对应的数码管 2,以便了解输入的数值。(8)结构图结构图 NO.7NO.7:此电路适合于设计时钟、定时器、秒表等。因为可利用键 8 和键5 分别控制时钟的清零和设置时间的使能;利用键 7、5 和 1 进行时、分、秒的设置。 (9)结构图结构图 NO.8NO.8:此电路适用于作并进/串出或串进/并出等工作

30、方式的寄存器、序7列检测器、密码锁等逻辑设计。它的特点是利用键 2、键 1 能序置 8 位 2 进制数,而键 6能发出串行输入脉冲,每按键一次,即发一个单脉冲,则此 8 位序置数的高位在前,向PIO10 串行输入一位,同时能从 D8 至 D1 的发光管上看到串形左移的数据,十分形象直观。 (10)结构图结构图 NO.9NO.9:若欲验证交通灯控制等类似的逻辑电路,可选此电路结构。 (11)当系统上的“模式指示”数码管显示“A”时,系统将变成一台频率计频率计,数码管8 将显示“F” , “数码 6”至“数码 1”显示频率值,最低位单位是 Hz。测频输入端为系统板右下侧的插座。 8 CLOCK0C

31、LOCK2CLOCK5CLOCK9FPGA/CPLDHEXPIO2PIO3PIO4PIO5PIO7PIO6D1D2D3D4D5D6D7D8D16D15D14D13D12D1112345678NO.0SPEAKERPIO15-PIO12PIO11-PIO8PIO7-PIO2HEX12345678PIO47-PIO44PIO43-PIO40PIO39-PIO36PIO35-PIO32PIO31-PIO28PIO27-PIO24PIO23-PIO20PIO19-PIO16 CLOCK9CLOCK5CLOCK2CLOCK0SPEAKERNO.1PIO11-PIO8PIO15-PIO12PIO48PIO

32、49D15D16HEXHEXPIO32PIO33PIO34PIO35PIO36PIO37PIO38PIO39D1D2D3D4D5D6D7D8FPGA/CPLD12345678PIO3-PIO0PIO7-PIO4HEXHEX12345678PIO39-PIO32PIO31-PIO28PIO27-PIO24PIO23-PIO20PIO19-PIO16图 1-5-0 实验电路结构图 NO.0 图 1-5-1 实验电路结构图 NO.1CLOCK9CLOCK5CLOCK2CLOCK0PIO48PIO49D10D912345678NO.2FPGA/CPLD7PIO46-PIO40PIO38-PIO32PI

33、O30-PIO24PIO22-PIO16PIO46-PIO40 g, f, e, d, c, b, a PIO38-PIO32 g, f, e, d, c, b, aPIO30-PIO24 g, f, e, d, c, b, a PIO22-PIO16 g,f,e,d,c,b,aPIO15-PIO12PIO11-PIO8PIO7-PIO4PIO3-PIO012345678 CLOCK9CLOCK5CLOCK2CLOCK0NO.3D9D16D15D14D13D12D11D10D8D7D6D5D4D3D2D1PIO8PIO9PIO10PIO11PIO12PIO13PIO14PIO15SPEAKER

34、12345678FPGA/CPLDPIO0PIO1PIO2PIO3PIO4PIO5PIO6PIO712345678PIO15-PIO8PIO47-PIO44PIO43-PIO40PIO39-PIO36PIO35-PIO32PIO31-PIO28PIO27-PIO24PIO23-PIO20PIO19-PIO16图 1-5-2 实验电路结构图 NO.2 图 1-5-3 实验电路结构图 NO.39CLOCK9CLOCK5CLOCK2CLOCK0NO.4FPGA/CPLD12345678D16D15D14PIO3-PIO0PIO7-PIO4PIO15-PIO12HEXHEXHEX12345678PIO

35、11PIO9PIO8PIO10PIO47-PIO44PIO43-PIO40PIO39-PIO36PIO35-PIO32 CLEARCLOCKLOADD1D2D3D4D5D6D7D8 图 1-5-4 实验电路结构图 NO.4 图 1-5-5 实验电路结构图 NO.5 图 1-5 实验电路结构图CLOCK9CLOCK5CLOCK2CLOCK0PIO8D11D12PIO9D13PIO10D14PIO11D15PIO12PIO13D16D6D5D4D3D2D1D7D8)(12345678NO.6FPGA/CPLDSPEAKERPIO3-PIO0PIO7-PIO4HEXHEXPIO16PIO13-PIO

36、8PIO23PIO22PIO21PIO20PIO19PIO18PIO177PIO46-PIO40PIO38-PIO32PIO30-PIO24PIO22-PIO16PIO46-PIO40 g, f, e, d, c, b, a PIO38-PIO32 g, f, e, d, c, b, aPIO30-PIO24 g, f, e, d, c, b, a PIO22-PIO16 g,f,e,d,c,b,a12345678 CLOCK9CLOCK5CLOCK2CLOCK0D16D15D14D13D12D11D9D8PIO47D7PIO46D6PIO45D5PIO44D4PIO43D3PIO42D2PI

37、O41PIO40D1NO.7SPEAKERFPGA/CPLD12345678PIO0PIO2PIO3PIO4PIO5PIO6PIO712345678PIO47-PIO40PIO39-PIO36PIO35-PIO32PIO31-PIO28PIO27-PIO24PIO23-PIO20PIO19-PIO16图 1-5-6 实验电路结构图 NO.6 图 1-5-7 实验电路结构图 NO.7CLOCK9CLOCK5CLOCK2CLOCK0FPGA/CPLDPIO10D16D15D1487654321NO.8SPEAKERPIO39-PIO36PIO43-PIO40PIO47-PIO44DCBADCBAD

38、1D2D3D4D5D6D7D8HEXHEXHEXPIO9PIO11PIO8PIO15-12PIO7-4PIO3-0HEXHEX12345678图 1-5-8 实验电路结构图 NO.8 图 1-5-9 实验电路结构图 NO.910图 1-5-10 GW48-CK 系统的 VGA 和 RS232 引脚连接图(此两个接口与 PK 系列引脚不同)图 1-5-11 GW48-PK2/3/4 上扫描显示模式时的连接方式(8 数码管扫描式显示,输入信号高电平有效)图 1-5 实验电路结构图(续)11表 1-4 GW48CK/PK2/PK3/PK4 系统万能接插口与结构图信号/与芯片引脚对照表GWAC6EP1

39、C6/12Q240 CycloneGWAC3EP1C3TC144CycloneGWA2C5EP2C5TC144CycloneIIGWA2C8EP2C8QC208CycloneIIGW2C35EP2C35FBGA484C8 CycloneIIWAK30/50EP1K30/50TQC144 ACEXGW3C40EP3C40Q240C8NCycloneIIIGWXS200XC3S200 SPARTAN结构图上的信号名引脚号引脚号引脚号引脚号引脚号引脚号引脚号引脚号PIO023311438AB1581821PIO1234214410AB1492122PIO22353311AB13102224PIO32

40、364412AB12123726PIO42375713AA20133827PIO52386814AA19173928PIO62397915AA18184129PIO7240102430L19194331PIO81112531J14204433PIO92322633H15214534PIO103332734H14224615PIO114342835G16234916PIO126353037F15265035PIO137363139F14275136PIO148373240F13285237PIO1512384041L18295539PIO1613394143L17305640PIO1714404

41、244K22315742PIO1815414345K21326343PIO1916424446K18336844PIO2017474547K17366945PIO2118484748J22377046PIO2219494856J21387348PIO2320505157J20397650PIO2421515258J19417851PIO2541525359J18428052PIO26128676792E1165112113PIO27132686994E967113114PIO28133697095E868114115PIO29134707196E769117116PIO30135717297D

42、1170118117PIO31136727399D972126119PIO321377374101D873127120PIO331387475102D778128122PIO341397576103C979131123PIO351407679104H78013212312PIO361417780105Y781133125PIO371587881106Y1382134126PIO381598386107U2083135128PIO391608487108K2086137130PIO401618592110C1387139131PIO411629693112C788142132PIO4216397

43、94113H389143133PIO431649896114U390144135PIO441659997115P391145137PIO4516610399116F492146138PIO46167105100117C1095159139PIO47168106101118C1696160140PIO48169107103127G2097161141PIO49173108104128R2098162143PIO60226131129201AB161372262PIO61225132132203AB171382303PIO62224133133205AB181402314PIO6322313413

44、4206AB191412325PIO64222139135207AB201422357PIO65219140136208AB71432369PIO662181411373AB814423910PIO672171421394AB11724011PIO68180122126145A10119186161PIO69181121125144A9118185156PIO70182120122143A8117184155PIO71183119121142A7116183154PIO72184114120141A6114177152PIO73185113119139A5113176150PIO7418611

45、2118138A4112173149PIO75187111115137A3111171148PIO762161431415AB911612PIO772151441426AB1014913PIO78188110114135B5110169147PIO79195109113134Y10109166146SPEAKER174129112133Y1699164144CLOCK0289391(CLK4)23L1126152184CLOCK21531789(CLK6)132M154149203CLOCK51521617(CLK0)131M2256150204CLOCK9299290(CLK5)130B12

46、12415120513第 2 章 VHDL 基础知识2.1 VHDL 简介一、VHDL(Very High Speed Hardware Description Language)超高速硬件描述语言。VHDL 是工业标准的文本格式语言,支持仿真和综合,是一种并发执行的语言。VHDL 支持结构化设计和 TOP-DOWN 设计方法。其描述与工艺无关,支持多风格的描述方法。二、VHDL 的历史:1982 年,诞生于美国国防部赞助的 VHSIC(Very High Speed Integrated Circuit)项目。1987 年底,VHDL 被 IEEE 和美国国防部确认无标准硬件描述语言,即IE

47、EE-1076(简称 87 版)1993 年,IEEE 对 VHDL 进行了修订,共不了新版本的 VHDL,即 IEEE 标准的 1076-1993(1164)版1996 年,IEEE-1076.3 成为 VHDL 综合标准。三、VHDL 的行为模型VHDL 描述电路功能或输入输出相应;没有电路结构信息;不涉及具体硬件;综合和仿真。图 2-1 VHDL 的行为模型结构模型:描述电路的功能和结构(下层模块互连关系);调用其他硬件单元;综合;14图 2-2 VHDL 的结构模型四、VHDL 中其他专有名词1、寄存器转移级(RTL)模型-vs.数据流模型,-一种行为级模型,-不明确描述硬件,-可综合

48、2、综合将 HDL 语言转换为电路,并进行优化的过程。3、RTL 综合将 RTL 模型转换为优化的门级电路的过程。图 2-3 RTL 综合15图 2-4 典型的综合流程图 2-5 典型的仿真流程五、VHDL 的基本设计单元1、Library 和 Package(库和程序包)-库主要存放已经编译过的实体、结构体、程序包和配置;-程序包主要用来存放各个设计都能共享的数据类型、子程序说明、属性说明、元件说明等部分。2、Entity(实体)-用来说明模型的外部特征3、Architecture(结构体/构造体)-来定义模型的功能4、Configuration(配置)-将实体和它的结构体联系起来VHDL

49、设计实体的组成:库和程序包(Library,Package),实体(Entity),结构体(Architecture),配置(Configuration)。16图 2-6 VHDL 的基本设计单元六、VHDL 基本设计单元(例子)例:用 VHDL 语言设计一个 2 选 1 的数据选择器entityentity mux21 isisportport(a,b:in bit; s:in bit; y:out bit);endend entityentity mux21;architecturearchitecture one of mux21 issignalsignal d,e:bit;begin

50、begind=a andand (not(not s); -左边三行可以用下面的语句代替。e= b andand s; -y= a when s=0 elsey= d oror e; - b;end architecture one;2.2 VHDL 结构2.2.1 库和程序包1、库库是专门用于存放预先编译好的程序包的地方,对应一个文件目录,程序包的文件就放在此目录中,其功能相当于共享资源的仓库,所有已完成的设计资源只有存入某个“库”内才可以被其他实体共享。库的说明总是放在设计单元的最前面,表示该库资源对以下的设计单元开放。库语句格式如下:LIBRARY 库名 ;常用的库有 IEEE 库、ST

51、D 库和 WORK 库。17(1)IEEE 库:是 VHDL 设计中最常用的资源库,包含 IEEE 标准的STD_LOGIC_1164、NUMERIC_BIT、NUMERIC_STD 以及其他一些支持工业标准的程序包。其中最重要和最常用的是 STD_LOGIC_1164 程序包,大部分程序都是以此程序包中设定的标准为设计基础。(2)STD 库:是 VHDL 的标准库,VHDL 在编译过程中会自动调用这个库,所以使用时不需要用语句另外说明。(3)WORK 库:是用户在进行 VHDL 设计时的现行工作库,用户的设计成果将自动保存在这个库中,是用户自己的仓库,同 STD 库一样,使用该库不需要任何说

52、明。2、程序包程序包是用 VHDL 语言编写的一段程序,可以供其他设计单元调用和共享,相当于公用的“工具箱”,各种数据类型、子程序等一旦放入了程序包,就成为共享的“工具”,类似于 C 语言的头文件,使用它可以减少代码的输入量,使程序结构清晰。在一个设计中,实体部分所定义的数据类型、常量和子程序可以在相应的结构体中使用,但在一个实体的声明部分和结构体部分中定义的数据类型、常量及子程序却不能被其他设计单元使用。因此,程序包的作用是可以使一组数据类型、常量和子程序能够被多个设计单元使用。程序包分为包头和包体两部分。包头(也称程序包说明)是对包中使用的数据类型、元件、函数和子程序进行定义,其形式与实体

53、定义类似。包体规定了程序包的实际功能,存放函数和过程的程序体,而且还允许建立内部的子程序、内部变量和数据类型。包头、包体均以关键字 PACKAGE 开头。程序包格式如下。包头格式:PACKAGE 程序包名 IS包头说明语句END 程序包名;包体格式:PACKAGE BODY 程序包名 IS包体说明语句END 程序包名;调用程序包的通用模式为:USE 库名.程序包名.ALL;常用预定义程序包有以下四个:(1)STD_LOGIC_1164 程序包18STD_LOGIC_1164 程序包定义了一些数据类型、子类型和函数。数据类型包括:STD_ULOGIC、STD_ULOGIC _VECTOR、STD

54、_LOGIC 和 STD_LOGIC _VECTOR,用的最多最广的是 STD_LOGIC 和 STD_LOGIC_VECTOR 数据类型。调用STD_LOGIC_1164 程序包中的项目需要使用以下语句:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;该程序包预先在 IEEE 库中编译,是 IEEE 库中最常用的标准程序包,其数据类型能够满足工业标准,非常适合 CPLD(或 FPGA)器件的多值逻辑设计结构。(2)STD_LOGIC_ARITH 程序包该程序包是美国 Synopsys 公司的程序包,预先编译在 IEEE 库中。主要是在 STD_LOGIC_1

55、164 程序包的基础上扩展了 UNSIGNED(无符号)、SIGNED(符号)和 SMALL_INT(短整型)三个数据类型,并定义了相关的算术运算符和转换函数。(3)STD_LOGIC_SIGNED 程序包该程序包预先编译在 IEEE 库中,也是 Synopsys 公司的程序包。主要定义有符号数的运算,重载后可用于 INTEGER(整数)、STD_LOGIC(标准逻辑位)和 STD_LOGIC _VECTOR(标准逻辑位向量)之间的混合运算,并且定义了STD_LOGIC _VECTOR 到 INTEGER 的转换函数。(4)STD_LOGIC_UNSIGNED 程序包该程序包用来定义无符号数的

56、运算,其他功能与 STD_LOGIC_SIGNED 相似。2.2.2 实体的语句格式表 2-1 实体格式名称内容引导语句ENTITY 实体名 IS类属表GENERIC(-);端口表PORT(-);结束语句END 实体名;19 Entity(实体)Architecture 1(构造体)Architecture N process(进程结构) block(块结构) subprograms(子程序) procedure(过程) function(函数)图 2-7 VHDL 的结构关系图1.1.类属说明类属说明的书写格式是:GENERIC(常数名:数据类型:设定值);2.2.端口语句端口语句的格式:P

57、ORT(端口信号名:端口模式 数据类型; 端口信号名:端口模式 数据类型);IN 输入;OUT 输出;INOUT 双向;BUFFER 缓冲类属 GENERIC 参量是一种端口界面常数,常以一种说明的形式放在实体或块结构体前的说明部分。比较常见的情况是利用类属来动态规定一个实体的端口的大小,或设计实体的物理特性,或结构体中的总线宽度,或设计实体中底层中同种元件的例化数量等等。一般在结构体中,类属的应用与常数是一样的,其中的常数名是由设计者确定的类属常数名,数据类型通常取 INTEGER 或TIME 等类型,设定值即为常数名所代表的数值,但需注意 VHDL 综合器仅支持数据类型为整数的类属值。例如

58、:ENTITY mcu1 ISGENERIC (addrwidth : INTEGER := 16);PORT( add_bus : OUT STD_LOGIC_VECTOR(addrwidth-1 DOWNTO 0) ); .20在这里 GENERIC 语句对实体 mcu1 作为地址总线的端口 add_bus 的数据类型和宽度作了定义 即定义 add_bus 为一个 16 位的标准位矢量 定义 addrwidth 的数据类型是整数 INTEGER 其中 常数名 addrwidth 减 1 即为 15 所以这类似于将上例端口表写成 PORT (add_bus : OUT STD_LOGIC_V

59、ECTOR (15 DOWNTO 0);2.2.3 结构体结构体的任务是:定义结构体中的各项内部使用元素,如数据类型(TYPE),常数(CONSTAND),信号(SIGNAL),元件(COMPONENT),过程(POCEDURE),变量(VARIABLE)和进程(PROCESS)等。通过 VHDL 语句描述实体所要求的具体行为和逻辑功能。描述各元件之间的连接。结构体格式:结构体名 OF 实体名 IS定义语句法;BEGIN功能描述语句法;END 结构体名称;结构体的三种描述方式:行为描述,数据流(或寄器传输)描述(RTL).例:用行为描述方式设计的全加器LIBRARY IEEE;USE IEEE

60、.STD_LOGIC_1164.ALL;ENTITY onebitadder ISPORT(a,b,cin:IN BIT; Sum,count:OUT BIT);END onebitadder;ARCHITECTURE behavior OF onebitadder ISBEGINPROCESS(a,b,cin)BEGINSum= a XOR b XOR cin;Count=(a AND b) OR (a XOR b) AND cin); END PROCESS;END behavior;块语句结构:块结构名:BLOCK端口说明 类属说明BEGIN21并行语句END BLOCK 块结构名;进程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论