资源预览内容
第1页 / 共33页
第2页 / 共33页
第3页 / 共33页
第4页 / 共33页
第5页 / 共33页
第6页 / 共33页
第7页 / 共33页
第8页 / 共33页
第9页 / 共33页
第10页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
目目 录录 第一章 绪论 .1 1.1 选题背景.2 1.1.1 课题相关技术的发展.2 1.1.2 课题研究的必要性.2 1.2 课题研究的内容.3 第二章 FPGA 简介.4 2.1 FPGA 概述 .4 2.2 FPGA 基本结构 .4 2.3 FPGA 系统设计流程 .6 2.4 FPGA 开发编程原理 .8 2.5 QUARTUSII 设计平台 .8 2.5.1 软件开发环境及基本流程.8 2.5.2 具体设计流程.10 第三章 数字钟总体设计方案 .13 3.1 数字钟的构成.13 3.2 数字钟的工作原理.13 3.3 数字钟硬件电路设计.13 第四章 单元电路设计 .16 4.1 分频模块电路设计.16 4.2 校时控制模块电路设计.17 4.2.1 按键消抖.17 4.2.2 按键控制模块.18 4.3 计数模块.21 4.4 译码显示模块.27 4.5 译码显示强制转换模块.29 4.6 整点报时模块.29 结果与展望 .31 结果 .31 展望 .31 主要参考文献 .33 第一章第一章 绪论绪论 现代社会的标志之一就是信息产品的广泛使用,而且是产品的性能越来越 强,复杂程度越来越高,更新步伐越来越快。支撑信息电子产品高速发展的基 础就是微电子制造工艺水平的提高和电子产品设计开发技术的发展。前者以微 细加工技术为代表,而后者的代表就是电子设计自动化(electronic design automatic, EDA)技术。 本设计采用的VHDL是一种全方位的硬件描述语言,具有极强的描述能力, 能支持系统行为级、寄存器传输级和逻辑门级这三个不同层次的设计;支持结 构、数据流、行为三种描述形式的混合描述,覆盖面广,抽象能力强,因此在 实际应用中越来越广泛。ASIC是专用的系统集成电路,是一种带有逻辑处理的 加速处理器;而FPGA是特殊的ASIC芯片,与其它的ASIC芯片相比,它具有设 计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳 定以及可实时在线检测等优点。 在控制系统中,键盘是常用的人机交换接口,当所设置的功能键或数字键 按下的时候,系统应该完成该键所对应的功能。因此,按键信息输入是与软件 结构密切相关的过程。根据键盘结构的不同,采用不同的编码方法,但无论有 无编码以及采用什么样的编码,最后都要转换成为相应的键值,以实现按键功 能程序的转移。1 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先 的报时功能。诸如定时自动报警、定时启闭电路、定时开关烘箱、通断动力设 备,甚至各种定时电气的自动启用等,所有这些都是以钟表数字化为基础的。 因此研究数字钟以及扩大其应用有着非常现实的意义。 1.11.1 选题背景选题背景 本节将从 FPGA 嵌入式应用开发技术与数字钟技术发展的客观实际出发, 通过对该技术发展状况的了解及课题本身的需要,指出研究基于 FPGA 的芯片 系统与设计数字钟的设计与实现的必要性。 1.1.11.1.1 课题相关技术的发展课题相关技术的发展 当今电子产品正向功能多元化,体积最小化,功耗最低化的方向发展。它与传 统的电子产品在设计上的显着区别是大量使用大规模可编程逻辑器件,使产品 的性能提高,体积缩小,功耗降低,同时广泛运用现代计算机技术,提高产品 的自动化程度和竞争力,缩短研发周期。EDA 技术正是为了适应现代电子技术 的要求,吸收众多学科最新科技成果而形成的一门新技术。 美国 ALTERA 公司的可编程逻辑器件采用全新的结构和先进的技术,加上 Quartus 开发环境,使得其更具有高性能,开发周期短等特点,十分方便进行电 子产品的开发和设计。2 EDA 技术以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻 辑描述主要表达方式,以计算机和大规模可编程逻辑器件的开发软件及实验开 发系统为设计工具,自动完成用软件的方式设计的电子系统到硬件系统的逻辑 编译、逻辑化简、逻辑分割、逻辑映射、编程下载等工作,最终形成集成电子 系统或专用集成芯片的一门新技术。 本设计是利用 VHDL 硬件描述语言结合可编程逻辑器件进行的,并通过数 码管静态显示走时结果。数字钟可以由各种技术实现,如单片机等。利用可编 程逻辑器件具有其它方式没有的特点,它具有易学、方便、新颖、有趣、直观, 设计与实验成功率高、理论与实践结合紧密、积小、量大、/O 口丰富、编程和 加密等特点,并且它还具有开放的界面、丰富的设计库、模块化的工具以及 LPM 定制等优良性能,应用非常方便。因此,本设计采用可编程逻辑器件实现。 1.1.21.1.2 课题研究的必要性课题研究的必要性 现在是一个知识爆炸的新时代。新产品、新技术层出不穷,电子技术的发 展更是日新月异。可以毫不夸张的说,电子技术的应用无处不在,电子技术正 在不断地改变着我们的生活,改变着我们的世界。在这快速发展的年代,时间 对人们来说是越来越宝贵,在快节奏的生活时,人们往往忘记了时间,一旦遇 到重要的事情而忘记了时间,这将会带来很大的损失,因此我们需要一个定时 系统来提醒这些忙碌的人。数字化的钟表给人们带来了极大的方便。近些年, 随着科技的发展和社会的进步,人们对数字钟的要求也越来越高,传统的时钟 已不能满足人们的需求,多功能数字钟不管在性能还是在样式上都发生了质的 变化,有电子闹钟、数字闹钟等等。 1.21.2 课题研究的内容课题研究的内容 本设计主要研究基于 FPGA 的数字钟,要求时间以 24 小时为一个周期,显 示时、分。具有校时以及整点报时功能,可以对时、分进行单独校对,使其校 正到标准时间。校对时间由 15 矩形键盘进行控制,为了保证计时的稳定及准 确须由晶体振荡器提供时间基准信号。 第二章第二章 FPGA 简介简介 2.12.1 FPGA 概述概述 FPGA是现场可编程门阵列(Field Programmable Gate Array)的简称,与之 相应的CPLD是复杂可编程逻辑器件(Complex Programmable Logic Device)的 简称,两者的功能基本相同,只是实现原理略有不同,有时可以忽略这两者的 区别,统称为可编程逻辑器件或CPLD/PGFA。CPLD/PGFA几乎能完成任何数 字器件的功能,上至高性能CPU,下至简单的74电路。它如同一张白纸或是一 堆积木,工程师可以通过传统的原理图输入或硬件描述语言自由的设计一个数 字系统。通过软件仿真可以事先验证设计的正确性,在PCB完成以后,利用 CPLD/FPGA的在线修改功能,随时修改设计而不必改动硬件电路。使用 CPLD/FPGA开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统 的可靠性。这些优点使得CPLD/FPGA技术在20世纪90年代以后得到飞速的发展, 同时也大大推动了EDA软件和硬件描述语言HDL的进步。3 2.22.2 FPGA 基本结构基本结构 FPGA具有掩膜可编程门阵列的通用结构,它由逻辑功能块排成阵列,并由 可编程的互连资源连接这些逻辑功能块来实现不同的设计。 FPGA一般由3种可编程电路和一个用于存放编程数据的静态存储器SRAM 组成。这3种可编程电路是:可编程逻辑模块(CLB-Configurable Logic Block)、 输入/输出模块(IOB-I/O Block)和互连资源(IRInterconnect Resource)。可 编程逻辑模块CLB是实现逻辑功能的基本单元,它们通常规则的排列成一个阵 列,散布于整个芯片;可编程输入/输出模块(IOB)主要完成芯片上的逻辑与 外部封装脚的接口,它通常排列在芯片的四周;可编程互连资源包括各种长度 的连接线段和一些可编程连接开关,它们将各个CLB之间或CLB、IOB之间以 及IOB之间连接起来,构成特定功能的电路。4 1.CLB是FPGA的主要组成部分。图2.1是CLB基本结构框图,它主要由逻辑 函数发生器、触发器、数据选择器等电路组成。CLB中3个逻辑函数发生器分别 是G、F和H,相应的输出是G、F和H。G有4个输入变量G1、G2、G3和G4;F 也有4个输入变量F1、F2、F3和F4。这两个函数发生器是完全独立的,均可以 实现4输入变量的任意组合逻辑函数。逻辑函数发生器H有3个输入信号;前两 个是函数发生器的输出G和F,而另一个输入信号是来自信号变换电路的输出 H1。这个函数发生器能实现3输入变量的各种组合函数。这3个函数发生器结合 起来,可实现多达9变量的逻辑函数。 CLB中有许多不同规格的数据选择器(四选一、二选一等),通过对CLB 内部数据选择器的编程,逻辑函数发生器G、F和H的输出可以连接到CLB输出 端X或Y,并用来选择触发器的激励输入信号、时钟有效边沿、时钟使能信号以 及输出信号。这些数据选择器的地址控制信号均由编程信息提供,从而实现所 需的电路结构。 CLB中的逻辑函数发生器F和G均为查找表结构,其工作原理类似于 ROM。F和G的输入等效于ROM的地址码,通过查找ROM中的地址表可以得到 相应的组合逻辑函数输出。另外,逻辑函数发生器F和G还可以作为器件内高速 RAM或小的可读写存储器使用,它由信号变换电路控制。 2.输入/输出模块IOB。IOB提供了器件引脚和内部逻辑阵列之间的连接。它 主要由输入触发器、输入缓冲器和输出触发/锁存器、输出缓冲器组成。 每个IOB控制一个引脚,它们可被配置为输入、输出或双向I/O功能。当 IOB控制的引脚被定义为输入时,通过该引脚的输入信号先送入输入缓冲器。 缓冲器的输出分成两路:一路可以直接送到MUX,另一路延时几个纳秒(或者 没有延时)后送到输入通路D触发器,再送到数据选择器。通过编程给数据选 择器不同的控制信息,确定送至CLB阵列的I1和I2是来自输入缓冲器,还是来 自触发器。 当IOB控制的引脚被定义为输出时,CLB阵列的输出信号OUT也可以有两 条传输途径:一条是直接经MUX送至输出缓冲器,另一条是先存入输出通路D 触发器,再送至输出缓冲器。 IOB输出端配有两只MOS管,它们的栅极均可编程,使MOS管导通或截止, 分别经上拉电阻接通VCC、地线或者不接通,用以改善输出波形和负载能力。 3.可编程互连资源IR。可编程互连资源IR可以将FPGA内部的CLB和CLB之 间、CLB和IOB之间连接起来,构成各种具有复杂功能的系统。IR主要由许多 金属线段构成,这些金属线段带有可编程开关,通过自动布线实现各种电路的 连接。 图2.1 CLB基本结构 2.32.3 FPGA 系统设计流程系统设计流程 一般说来,一个比较大的完整的项目应该采用层次化的描述方法:分为几 个较大的模块,定义好各功能模块之间的接口,然后各个模块再细分去具体实 现,这就是自顶向下的设计方法。目前这种高层次的设计方法已被广泛采用。 高层次设计只是定义系统的行为特征,可以不涉及实现工艺,因此还可以在厂 家综合库的支持下,利用综合优化工具将高层次描述转换为针对某种工艺优化 的网络表,使工艺转化变得轻而易举。 CPLD/FPGA系统设计的工作流程如图2.2所示。 流程说明: 1.工程师按照“自顶向下”的设计方法进行系统划分。 2.输入VHDL代码,这是设计中最为普遍的输入方式。此外,还可以采用图 形输入方式,这种输入方式具有直观、容易理解的优点。 3.将以上的设计输入编译成标准的VHDL文件。 4.进行代码级的功能仿真,主要是检验系统功能设计的正确性。这一步骤 适用于大型设计,因为对于大型设计来说,在综合前对源代码仿真,就可以大 大减少设计重复的次数和时间。一般情况下,这一仿真步骤可略去。 5.利用综合器对VHDL源代码进行综合优化处理,生成门级描述的网络表文 件,这是将高层次描述转化为硬件电路的关键步骤。综合优化是针对ASIC芯片 供应商的某一产品系列进行的,所以综合的过程要在相应的厂家综合库的支持 可编程开关矩输入输出模块互连资源 CLBCLBCLBCLB CLB CLB B CLBCLBCLB CLB 矩 CLB CLB CLB
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号