FPGA课程设计 黄晨

发布 2022-09-30 22:23:28 阅读 5957

fpga课程设计 报。告。

书。题目:基于fpga多功能电子钟设计。

学院: 电气工程与自动化

专业班级: 电信12-3班

指导老师李辉。

设计作者黄晨。

学号: 311208002013

完成日期: 2024年12月8日

目录。摘要 1

第一章 fpga简介 2

1.2 fpga基本结构 2

1.3 fpga系统设计流程 3

第二章系统电路设计 4

2.1电子钟的设计方案选择 4

2.2总体设计方案 4

2.3显示电路设计 5

2.3.1分频器电路 7

2.3.2扫描电路电路 7

2.3.3 bcd码多路选择器 7

2.3.4 bcd译码器 7

2.3.5位选码电路 8

2.4电子时钟计数器电路设计 8

2.4.1秒和分计数器设计 8

2.4.2小时计数器设计 10

总结 12参考文献 13

附录 14摘要。

本文介绍了多功能电子钟的现状及发展动态,多功能电子钟的应用,多功能电子钟的基本原理和实现方法以及系统构建理论。针对现行电子钟设计方案实现起来相对复杂、误差偏大等弊端,对以fpga为核心器件的电子钟方案进行了实验研究,利用eda技术自顶向下的设计方法,设计电子钟各模块及相应具体电路,通过编译、**并**到fpga实验平台进行测试,运行结果表明:系统能以较小的误差显示时、分、秒,并且当走时不准时,可以通过相应设置键实现校时。

关键词:多功能电子钟;eda;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的进步。

fpga具有掩膜可编程门阵列的通用结构,它由逻辑功能块排成阵列,并由可编程的互连资源连接这些逻辑功能块来实现不同的设计。

fpga一般由3种可编程电路和一个用于存放编程数据的静态存储器sram组成。这3种可编程电路是:可编程逻辑模块(clb—configurable logic block)、输入/输出模块(iob—i/o block)和互连资源(ir—interconnect resource)。

可编程逻辑模块clb是实现逻辑功能的基本单元,它们通常规则的排列成一个阵列,散布于整个芯片;可编程输入/输出模块(iob)主要完成芯片上的逻辑与外部封装脚的接口,它通常排列在芯片的四周;可编程互连资源包括各种长度的连接线段和一些可编程连接开关,它们将各个clb之间或clb、iob之间以及iob之间连接起来,构成特定功能的电路。

1)clb是fpga的主要组成部分。它主要由逻辑函数发生器、触发器、数据选择器等电路组成。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主要由许多金属线段构成,这些金属线段带有可编程开关,通过自动布线实现各种电路的连接。

1)工程师按照“自顶向下”的设计方法进行系统划分。

2)输入vhdl**,这是设计中最为普遍的输入方式。此外,还可以采用图形输入方式,这种输入方式具有直观、容易理解的优点。

3)将以上的设计输入编译成标准的vhdl文件。

4)进行**级的功能**,主要是检验系统功能设计的正确性。这一步骤适用于大型设计,因为对于大型设计来说,在综合前对源****,就可以大大减少设计重复的次数和时间。一般情况下,这一**步骤可略去。

5)利用综合器对vhdl源**进行综合优化处理,生成门级描述的网络表文件,这是将高层次描述转化为硬件电路的关键步骤。综合优化是针对asic芯片**商的某一产品系列进行的,所以综合的过程要在相应的厂家综合库的支持下才能完成。

6)利用产生的网络表文件进行适配前的时序**,**过程不涉及具体器件的硬件特性,是较为粗略的。一般的设计,也可略去这一步骤。

7)利用适配器将综合后的网络表文件针对某一具体的目标器件进行逻辑映射操作,包括底层器件配置、逻辑分割、逻辑优化和布局布线。

8)在适配完成后,产生多项设计结果:a.适配报告,包括芯片内部资源利用情况,设计的布尔方程描述情况等;b.

适配后的**模型;c.器件编程文件。根据适配后的**模型,可以进行适配后时序**,因为已经得到器件的实际硬件特性(如时延特性),所以**结果能比较精确的预期未来芯片的实际性能。

如果**结果达不到设计要求,就修改vhdl源**或选择不同速度和品质的器件,直至满足设计要求。最后将适配器产生的器件编程文件通过编程器或**电缆载入到目标芯片cpld/fpga中。

第二章系统电路设计。

2.1 电子钟的设计方案选择。

数字电子钟的设计方法有多种,例如,可用中小规模集成电路组成电子钟;也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟;还可以利用单片机来实现电子钟等等。

方案一:运用单片机内部的定时/计数器来实现电子时钟的方法,该方案设计由单片机at89s51芯片和led数码管为核心,辅以必要的电路,构成了一个单片机电子时钟。

时钟的基本显示原理:时钟开始显示为0时0分0秒,也就是数码管显示000000,然后每秒秒位加1 ,到9后,10秒位加1,秒位回0。10秒位到5后,即59秒 ,分钟加1,10秒位回0。

依次类推,时钟最大的显示值为23小时59分59秒。这里只要确定了1秒的定时时间, 其它位均以此为基准往上累加。

方案二:采用专用的时钟芯片实现,通过单片机读取时钟芯片的计时时间,在数码管上显示出来,就可以实现电子时钟功能,典型的时钟芯片有:ds1302,ds12887,x1203,pcf8583等都可以实现电子时钟功能。

方案三:采用fpga来实现电子时钟功能,运用vhdl语言来描述电子时钟的各个功能模块。将电子时钟分为六十进制计数器和二十**制计数器两个基本的功能模块,然后将两个六十进制计数器和一个二十**制计数器相级联,就构成一个具有时、分、秒的电子时钟。

比较方案。一、方案二和方案三:方案一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;方案二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,但该方案还具备日历功能,造成功能上的浪费;方案三是采用fpga实现,运用vhdl语言描述,设计方法简单,而且运用有源晶振作为系统的时钟源,通过分频得到1hz的信号,计时精度很高,不低于方案二的计时精度,而且运用vhdl语言来描述电子时钟是完全的硬件实现。

通过以上比较,系统中采用fpga来实现电子时钟功能。

FPGA课程设计

黑龙江大学。fpga通信模块设计。专业 通信工程。学号 20085415 姓名 王琪。fpga通信模块设计。1 现代数字信号处理。随着电子技术和集成电路技术的飞速发展,数字信号处理已广泛应用于语音 图像处理,通信和多 等领域中。傅立叶变换 dft 作为其数字信号处理中的基本运算,发挥着重要作用。特别...

fpga课程设计

异步数据复接设计。孟伟荣 201222250226 空天院。根据3个时钟的不同速率,如果最终的并行输出是同步字节 对应数据的结构,可以发现aa 两帧第一路数据 bb 三帧第二路数据 cc正好满足要求。其中aabbcc均以16进制数据表示。aa,bb,cc分别使用一个byte的寄存器。本设计中为使结果...

FPGA课程设计

fpga课。程。设。计。专业 10级电子信息工程。班级 1班。姓名 傅雅琦。学号 100102011120 指导教师 祝宏。制作日期 2012年12月13日。1.模为100的可加减计数器。1.标题及任务书。第一阶段 熟悉设计要求构造大致思路。第二阶段 图书馆查阅资料,仿照例子编程。第三阶段 开始编程...