481.基于FPGA的8位16进制频率计设计.doc

上传人:仙人指路1688 文档编号:2392333 上传时间:2023-02-17 格式:DOC 页数:42 大小:823.50KB
返回 下载 相关 举报
481.基于FPGA的8位16进制频率计设计.doc_第1页
第1页 / 共42页
481.基于FPGA的8位16进制频率计设计.doc_第2页
第2页 / 共42页
481.基于FPGA的8位16进制频率计设计.doc_第3页
第3页 / 共42页
481.基于FPGA的8位16进制频率计设计.doc_第4页
第4页 / 共42页
481.基于FPGA的8位16进制频率计设计.doc_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《481.基于FPGA的8位16进制频率计设计.doc》由会员分享,可在线阅读,更多相关《481.基于FPGA的8位16进制频率计设计.doc(42页珍藏版)》请在三一办公上搜索。

1、工程师范学院本科生毕业设计毕 业 设 计基于FPGA的8位16进制频率计设计Design of 8-bit 16-band frequency based on the FPGA 专业班级:电信0501学生姓名: 指导教师: 系 别:电子工程学院2009年6月摘 要频率计是一种专门对被测信号频率进行测量的电子测量仪器。电子频率计具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。随着电子技术的发展,待测信号频率越来越高,测频技术也有了相当大的发展。根据频率计的测频原理,采用了VHDL语言完成了8位16进制数字频率计的设计,并在FPGA器件上实现。本设计中

2、的FPGA部分由测频控制模块,计数模块,锁存模块,译码模块,显示模块组成,每个模块的VHDL程序都在Quartus II 7.2软件环境中通过了仿真。除FPGA核心部分,外围电路由电源部分,显示部分,基准信号输入部分,控制部分组成。最后依据电路图完成了硬件电路的焊接与调试。关键词:EDA、FPGA、数字频率计、VHDL、Quartus II 7.2ABSTRACTFrequency meter is a kind of specialized measure instrument to the electronics which is measured signal frequency. Th

3、e electronics frequency meter has some advantages such as high accuracy, easy to operate, quickly measured and easy to auto maize measure process and so on. It is an important way to measure frequency. With the development of electronic technology, higher and higher-frequency of signals under test,

4、measuring frequency technology has been considerably developed.According to the principle of measuring frequency of the frequency meter, VHDL language has been used to complete the design of 8-bit 16-band digital frequency meter.And carry it out on FPGA devices. The FPGA part of this design is forme

5、d by frequency control module, counting module latch module, decoding module and display module. Each module of the VHDL program has been passed through in a simulation environment of the software Quartus II 7.2.In addition to the core of the FPGA,peripheral circuit is consist of the power source pa

6、rt, the display part, the reterence signal input part and the control part. Finally, complete the welding and debugging of the hardware circuit based on the circuit diagram.Key Words:EDA、FPGA、Frequency、VHDL、Quartus II 7.2目 录0 引 言11频率计测频原理21.1常用的数字频率测量方法21.1.1直接测频法21.1.2多周期同步测频方法32频率计外围电路设计52.1 电源电路5

7、2.2 基准信号输入电路62.3 显示及控制模块73 基于FPGA器件的功能模块设计83.1 VHDL简介83.2 测频控制电路93.3 32位计数器103.4 32位锁存器113.5 7段显示译码器设计133.6 顶层VHDL程序设计及整体仿真程序144 FPGA结构与应用164.1 概述164.2 FPGA原理与结构164.2.1 查找表(Look-Up-Table)原理与结构174.2.2 基于查表结构(LUT)的结构174.2.2 基于查表结构FPGA逻辑实现原理184.2.3 其他类型的FPGA185 FPGA配置方案195.1 EP10K30ATI144-3 FPGA芯片简介195

8、.2 EPC2配置芯片简介195.3 配置模式196 频率计系统调试206.1. 硬件的调试步骤与验证206.2 软件的调试步骤与验证20结 论21参考文献22致 谢23附录一: 系统原理图24附录二: 顶层原理图26附录三: VHDL部分源程序27英文原文29中文译文340 引 言FPGA是一种新兴的高密度大规模可编程逻辑器件,它具有门阵列的高密度和PLD器件的灵活性和易用性,目前已成为一类主要的可编程器件。可编程器件的最大特点是可通过软件编程对其器件的结构和工作方式进行重构,能随时进行设计调整而满足产品升级。使得硬件的设计可以如软件设计一样方便快捷,从而改变了传统数字系统及用单片机构成的数

9、字系统的设计方法、设计过程及设计观念,使电子设计的技术操作和系统构成在整体上发生了质的飞跃。采用FPGA可编程器件,可利用计算机软件的方式对目标器件进行设计,而以硬件的形式实现。既定的系统功能,在设计过程中,可根据需要随时改变器件的内部逻辑功能和管脚的信号方式,借助于大规模集成的FPGA和高效的设计软件,用户不仅可通过直接对芯片结构的设计实行多种数字逻辑系统功能,而且由于管脚定义的灵活性,大大减轻了电路图设计和电路板设计的工作量及难度,同时,这种基于可编程芯片的设计大大减少了系统芯片的数量,缩小了系统的体积,提高了系统的可靠性。EDA(电子设计自动化) 技术就是以计算机为工具,在EDA软件平台

10、上,对以硬件描述语言HDL为系统逻辑描述手段完成的设计文件,自动的完成逻辑编译、逻辑化简、逻辑综合及优化、逻辑仿真,直至对特定目标芯片的适配编译、逻辑映射和编程下载等工作(本文选用的开发工具为Altera公司的Quartus II)。EDA 的仿真测试技术只需要通过计算机就能对所设计的电子系统从各种不同层次的系统性能特点完成一系列准确的测试与仿真操作,大大提高了大规模系统电子设计的自动化程度。设计者的工作仅限于利用软件方式,即利用硬件描述语言(如VHDL)来完成对系统硬件功能的描述,在EDA工具的帮助下就可以得到最后的设计结果,这使得对整个硬件系统的设计和修改过程如同完成软件设计一样方便、高效

11、。基于EDA技术的设计方法为“自顶向下”设计,其步骤是采用可完全独立于目标器件芯片物理结构的硬件描述语言,在系统的基本功能或行为级上对设计的产品进行行为描述和定义,结合多层次的仿真技术,在确保设计的可行性与正确性的前提下,完成功能确认。然后利用EDA工具的逻辑综合功能,把功能描述转换为某一具体目标芯片的文件,经编程器下载到可编程目标芯片中(如FPGA芯片),使该芯片能够实现设计要求的功能。这样,一块芯片就是一个数字电路系统。使电路系统体积大大减小,可靠性得到提高。1频率计测频原理1.1常用的数字频率测量方法用于频率测量的方法有很多,频率测量的准确度主要取决于所测量的频率范围以及被测对象的特点。

12、而测量所能达到的精度,不仅仅取决于作为标准使用的。频率源的精度,也取决于所使用的测量设备和测量方法。因此,下面介绍集中常用的频率测量方法,分析他们的优缺点,从而提出此设计中频率测量方法。1.1.1直接测频法直接测频法是最简单的,也是最基本的频率测量方法,在测量过程中,依据信号频率高低的不同,测量方法也可以分为两种:一 、被测信号频率较高时(M法)通常选用一个频率较低的标准频率信号作为闸门信号,而将被测信号作为充脉冲,在固定闸门时间内对其计数。设闸门宽度为T,计数值为N,则这种测量方法的频率测量值为: (1-1)测量误差主要决定于闸门时间T和计数和计数器计得的数的准确度,因此,总误差可以采用分项

13、误差绝对值线性相加来表示,即: (1-2)其中,是最大量化误差的相对值,的产生是由于测频时,闸门的开启时刻与计数脉冲之间的时间关系不相关造成的,即在相同的主门开启时间内,计数器所得的数并不一定相同。当主门开启时间T接近甚至等于裤测信号周期Tx的整数倍时,量化误差最大,最大量化误差为个数。为标准的准确度等于闸门时间的相对误差的准确度,即: (1-3) 式中负号表示由引起的闸门时间的误差为。通常,对标准频率的准确度的要求是根据所要求的测频准确度而提出来的。因此,为了使标准误差不对测量结果产生影响,标准频率的准确度应高于被测信号准确度至少一个数量级。因此,测量较高的信号频率时,若已定,闸门时间T越长

14、,测量准确度越高,当T选定后,越高,个数字误差对测量结果影响越小,测量准确度越高。二、被测信号频率较低时(T法)通常被测信号被选为闸门信号,而将频率较高的标频信号作为填充脉冲,进行计数,设计数值为N,标准频率信号的频率为,周期为,则有: (1-4)使用这种方法测频的误差主要是对标频信号计数产生的士1个数字误差,在忽略标准频率信号自身误差的情况下,测量精度为: (1-5)由上可知:直接测频方法的优点是:测量方便,读数直接,在比较宽的频率范围内能够获得较高的测量精度。它的缺点是:由于被测信号士1个数字误差的存在,难以兼顾低频和高频实现等精度测量,所以测量精度较低。1.1.2多周期同步测频方法一、测

15、量原理多周期同步测频是在直接测频基础上发展起来的,在目前的测频系统中得到了越来越广泛的应用。它在测频时,闸门时间不是固定的,而是被测信号的整数倍,即与被测信号保持同步,因此消除了对被测信号计数所产生的士1个数字误差,使测量精度大为提高,测量原理的波形如图1-1。闸门信号标准信号待测信号使能信号图1-1 测量原理测量时,首先预置闸门开启信号,此时计数器并不计数,等被测信号上升沿到来时,触发器输出计数允许信号(实际闸门信号),计数器1对标准信号计数,计数器2对被测信号计数,预置闸门关闭时,计数器并不立即结束计数,而是等到被测信号上升沿到来时才停止计数,完成测量过程。若计数器1对标准信号的计数值为N

16、C,计数器2对被测信号的计数值NX,则被测信号频率为: (1-6)运算器对公式1-6进行运算,由显示器显示运算结果,即为被测信号的频率值。综合上方法的优缺点,本设计采用此方法。FPGA具有集成度高,一片FPGA等效于几十到几百万枚门电路,并且高频特性特别好,又由于其可编程,设计起来事半功倍,因此本设计采用FPGA来实现全同步数字频率计。其系统原理框图如图1-2所示。由图知,设计的绝大部分由FPGA完成,只有基准信号电路、控制电路以及显示部分由外部电路构成。设计内部原理图主要由测频控制模块、计数器模块、锁存器模块、译码器模块等组成。工作原理如下:被测频率与标准时钟分别送给脉冲同步检测电路与两个计

17、数器,当脉冲同步检测电路检测到被测频率与标准时钟相位同步时,脉冲同步检测电路发出FPGA标准时钟基准信号输入电路显示电路稳定电压电 源部 分控制信号控 制部 分图1-2 频率计系统原理框图同步信号,2个计数器开始计数,当脉冲同步检测电路再次检测到同步信号时,又发出同步信号,计数器停止计数。同时计数器的计数值锁存到锁存器,时序乘法器从锁存器中取得被测频率的计数值与标准时钟频率进行运算,运算所得结果就是被测信号的频率,然后再经过译码器进制转换变成BCD码,送给数码管显示。以下介绍各种模块电路的功能及实现过程。2频率计外围电路设计整个系统由核心部分的FPGA以及其外围电路共同构成,电路图见附录一。下

18、面对其外围电路进行分析。2.1 电源电路本设计需要在5V的电压下进行工作,电源是保障系统正常运行的必要条件。开关电源的稳压精度高,但是只能稳定一路电压。本系统的信号处理电路和各种驱动电路需要多组直流稳压电源为系统供电。固单纯的选开关电源既不经济也无法满足系统的要求,所以本系统采用多组三端稳压块构成稳压电路输出。系统电源模块的原理图如图2-1所示,电源变压器将交流电网220V的电压变为9V的交流电。然后通过整流堆将交流电压变成脉动的直流电压,由于此脉动的直流电压还含有较大的波纹,通过滤波电容C9、C7、C3加以滤除。从而得到平滑的直流电压。在这样的电压还随电网电压波动、负载和温度变化时,将维持输

19、出直流电压的稳定。再经C10、C8、C4、C5波纹消除电容得到5V和3.3V的直流电压。其中5V电源主要为FPGA所有外围设备供电,3.3V电源为FPGA芯片提供电压。图2-1 直流稳压电源电路2.2 基准信号输入电路由于本设计要在1Hz的基准信号下进行工作,所以稳定的基准信号的稳定性和精确性是非常重要的,经过分析,555振荡电路能起到提供1Hz脉冲信号的作用。图2-2 555多谐振荡电路R2 R1 图2-2是由555定时器组成的多谐振荡器。R1、R2、C是外接元件。电源VCC经电阻R1、R2对电容C进行充电,VC开始上升次,直至2/3VCC时,比较器C1的输出为0,将触发器复位成0,即VO为

20、0。电容C通过R2和T放电,于是VC开始下降。直至到1/3VCC时,比较器C2的输出为0,将触发器置1,即VO由0再次上跳为1。此后VCC又经R1和R2对电容C充电,重复上述过程。可见,无论输出端VO为1还是为0,都是暂稳状态,输出电压VO为连续的方波信号。电容C从1/3VCC时充电到2/3VCC过程中形成的暂稳态脉冲宽度TPH为TPH = 0.7(R1+R2)C电容C从2/3VCC放电到1/3VCC过程中形成的暂稳态脉冲宽度TPL为:TPL=0.7R2C所以,振荡周期为:T=TPL+TPH=0.7(R1+2R2)C振荡频率为: 图1-3是占空比可调的多谐振荡器。图中电位器RP用于调节充放电时

21、间常数,D1和D2两只二极管起到隔离电容C的充电放电路的作用。充电回路(VCCR1D1C地)的时间常数TPH=0.7R1C放电回路(CD2R2地)的时间常数TPL=0.7R2C方波的占空比(其中R1、R2为5.1K、C为1000uf、RP为10K可调电位器)通过调节可调电位器使得占空比为50%此时输出为1HZ。2.3 显示及控制模块LED显示器是由发光二极管显示字段组成的显示块,有7段和“米”字段之分。这种显示块有共阳极和共阴极两种。此外,显示块中还有一个圆点型发光二极管用于显示小数点。通过发光二极管亮、暗的不同组,可以显示多中数字、字母以及其他符号。LED显示块中的发光二极管共有两种连接方法

22、,本系统采用共阴极接法,如图2-3。图2-3 数码管显示电路3 基于FPGA器件的功能模块设计FPGA是频率计设计的核心部分,VHDL是实现FPGA功能的基本语言。3.1 VHDL简介VHDL的英文全名是Very一High一Speed Integrated Circuit Hardware Description Language,诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言。自IEEE公布了VHDL的标准版本,IEEE一1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设

23、计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076一1993版本,(简称93版)。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多印EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL与Verilog语言将承担起大部分的数字系统设计任务。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类

24、似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分及端口)和内部(或称不可视部分)。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。应用VHDL进行工程设计的优点是多方面的。 (1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。 (2)VHDL丰富的仿真语句

25、和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。 (3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。 (4)对于用VHDL完成的一个确定的设计,可以利用EAD工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。 (5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。3.2 测频控制电路 复位空闲状态计数开始计数结果显示量程切换计数溢出

26、闸门溢出图3-1测频控制流程图控制单元的作用是产生各种时序或控制信号使其他单元完成相应的动作,在其内部设计了一个状态机,其工作流图如图3-1所示复位后系统进入空闲状态,此时量程为最小量程、计数阀门关闭、计数单元清零等,在下一个时种自动进入计数状态,此时启动计数阀门,同时对阀门宽度时间进行计时,如果未发生计数溢出,阀门时间到时,切换到计数显示状态如果发生计数溢出,说明量程过小,此时进入量程切换,即将阀门宽度变窄,再进入空闲状态, 重新准备计数量程值译码后将得到显示数据小数点的位置,总体单位为KHZ。因此这里略去实体的声明部分在显示状态,计数阀门关闭,显示数据传送有效,将计数值送入显示单元。图3-

27、2为模块仿真波形图。以下是控制单元部分VHDL语言源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY FTCTRL ISPORT(CLKK:IN STD_LOGIC; 1HZ CNT_EN:OUT STD_LOGIC; 计数器时钟能使能 RST_CNT:OUT STD_LOGIC; 计数器清零LOAD:OUT STD_LOGIC ); 输出锁存信号END FTCTRL;ARCHITECTURE behav OF FTCTRL ISSIGNAL Div2CLK:STD_LOGIC;

28、BEGINPROCESS( CLKK )BEGINIF CLKKEVENT AND CLKK = 1THEN 1HZ时钟2分频Div2CLK=NOT Div2CLK;END IF;END PROCESS;PROCESS (CLKK,Div2CLK)BEGIN IF CLKK=0 AND Div2CLK=0 THEN RST_CNT=1; 产生计数清零信号 ELSE RST_CNT=0;END IF;END PROCESS;Load=NOT Div2CLK;CNT_EN=Div2CLK;END behav;图3-2测频控制电路仿真图3.3 32位计数器此计数器为32位十六进制,实现对标准频率信号

29、和被测频率信号进行计数。它具有计数使能端(ena)、异步清零端(clr)、时钟输入端(clk)、进位输出端ov)等。当异步清零端(clr)为高电平时,不管计数使能瑞是否有效,时钟上升沿是否到来,计数器都立即清零,即q=0。只有异步清零端(clr) 为低电平,并且计数使能端为高电平,有上升沿到来时,计数器才开始计数,当计数器计满时,进位输出为高电平。计数器VHDL程序仿真图如图3-3所示。从仿真图上可知:此计数器具有良好的控制和计数功能。计数器的VHDL源程序如下所示:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSI

30、GNED.ALL;ENTITY COUNTER32B ISPORT (FIN:IN STD_LOGIC; 时钟信号 CLR:IN STD_LOGIC; 清零信号 ENABL:IN STD_LOGIC; 计数使能信号DOUT:OUT STD_LOGIC_VECTOR(31 DOWNTO 0); 计数结果END COUNTER32B;ARCHITECTURE behav OF COUNTER32B IS SIGNAL CQI:STD_LOGIC_VECTOR(31 DOWNTO 0);BEGINPROCESS(FIN,CLR,ENABL)BEGINIF CLR=1THEN CQI0); 清零ELS

31、IF FINEVENT AND FIN=1THEN IF ENABL=1THEN CQI=CQI+1;END IF; END IF;END PROCESS;DOUT=CQI; END behav;图3-3 计数器仿真图3.4 32位锁存器频率计测频控制器的计数使能信号CNT_EN能产生一个1秒脉宽的周期信号,并对频率计中的32位二进制计数器的使能端进行同步控制。当CNT_EN高电平时允许计数;低电平时停止计数,并保持其所计的脉冲数。在停止计数期间,首先需要一个锁存信号LOAD的上跳沿将计数器在前一秒钟的计数值锁存进各所存器REG32BZ中,并由外部的十六进制7段译码器译出,显示计数值。设置锁存

32、器的好处是数据显示稳定,不会由于周期性的清零信号而不断闪烁。锁存模块仿真如图3-4。锁存模块源程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY REG32B ISPORT(LK:IN STD_LOGIC; DIN:IN STD_LOGIC_VECTOR(31 DOWNTO 0); A0:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); A1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); A2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); A3:OUT STD_LOGIC_VEC

33、TOR(3 DOWNTO 0); A4:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); A5:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); A6:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); A7:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END ;ARCHITECTURE behav OF REG32B ISBEGIN PROCESS(LK,DIN)BEGINIF LKEVENT AND LK=1THEN A0=DIN(3 DOWNTO 0 ); A1=DIN(7 DOWNTO 4 ); A2=DIN(1

34、1 DOWNTO 8 ); A3=DIN(15 DOWNTO 12 ); A4=DIN(19 DOWNTO 16 ); A5=DIN(23 DOWNTO 20 ); A6=DIN(27 DOWNTO 24 ); A7LED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SNULL;END CASE;END PROCESS;END;图3-5七位译码器仿真图3.6 顶层VHDL程序设计及整体仿真程序把以上各模块按照图3-6见附录三进行组合后得到顶层文件,源程序见附录二,编译通过后进行仿真。 仿真

35、编译后,设定的基准频率为1HZ,第一次仿真采用测试信号的周期为0.25秒,即频率为4Hz,按照频率计的设计,数码管应显示0000004,单位为Hz。仿真结果与期望结果一致。仿真波形如图3-7所示。图3-7 测试信号频率为4Hz脉冲时的仿真波形仿真编译后,设定的基准频率为1Hz,第二次仿真采用测试信号的周期为1s,即频率为1kHz,按照频率计的设计,转换成十六进制应为数码管应显示000003E8,转换成十进制即位1000,单位为Hz。 仿真结果与期望结果一致,设计符合要求。仿真波形如图3-8所示: 图3-8 测试信号频率为1kHz脉冲时的仿真波形4 FPGA结构与应用可编程逻辑器件PLD(Pro

36、grammable Logic Devices)是20世纪70年代发展起来的一种新的集成器件。PLD是大规模集成电路技术发展的产物,是一种半定制的集成电路,结合计算机软件技术(EDA技术)可以快速、方便地构建数字系统。本章主要介绍几类常用的大规模可编程逻辑器件的机构和工作原理,对FPGA的查找表原理分别进行剖析。4.1 概述不论是简单还是复杂的数字电路系统都是由基本门来构成的,如与门、或门、非门、传输门等。由基本门可构成两类数字电路,一类是组合电路,在逻辑上输出总是当前输入状态的函数;另一类是时序电路,其输出是当前系统状态与当前输入状态的函数,它含有存储元件。人们发现,不是所有的基本门都是必需

37、的,如用与非门单一基本门就可以构成其他的基本门。任何组合逻辑函数都可以化为“与-或”表达方式,即任何的组合电路(需要提供输入信号的非信号),可以用与门-或门二级电路实现。同样,任何时序电路都可以由组合电路加上加存储元件(即锁存器、触发器、RAM)构成。由此,人们提出了一种可编程电路结构,即乘机项逻辑可编程结构,其原理结构图如图4-1所示。输入缓冲电路与阵列与阵列输出缓冲电路输入 输出 图4-1 基本PLD器件的原理图当然,“与-或”结构组成的PLD器件的功能比较简单。此后,人们又从ROM工作原理、地址信号与输出数据间的关系,以及ASIC的门阵列法中获得启发,构造出另外一种可编程的逻辑结构,那就

38、是SRAM查找表的逻辑形成办法,它的逻辑函数发生采用RAM“数据”查找的方式,并使用多个查找表构成了一个查找表列阵,称为可编程门阵(Programmable Gate Array)。4.2 FPGA原理与结构FPGA是大规模可编程逻辑器件的一大类PLD器件。4.2.1 查找表(Look-Up-Table)原理与结构采用查找表结构的PDL芯片我们也可以称之为即FPGA:如altear的ACEX,APEX系列,xilinx的Spartan,Virtex系列等。查找表(Look一Up一Table)简称为LUT, LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成

39、一个有4位地址线的161的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA此A开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。4.2.2 基于查表结构(LUT)的结构FLEX/ACEX的结构主要包括LAB,I/O块,RAM块(未表示出)和可编程行/可连线。在FLEX/ACEX中,一个LAB包括8个逻辑单元(LE),每个LE包括一个LUT,一个触发器和相关的相关逻辑。LE是FLEX/ACEX芯片实现逻辑的最基本结构如图4-5。图4-5 逻辑单元LE结构图4

40、.2.2 基于查表结构FPGA逻辑实现原理以图4-6这个电路为例:图4-6 简单逻辑电路图A,B,C,D由FPGA芯片的管脚输入后进入可编程连线,然后作为地址线连到LUT,LUT中已经事先写入了所有可能的逻辑结果,通过地址查找到相应的数据然后输出,这样组合逻辑就实现了。该电路中D触发器是直接利用LUT后面D触发器来实现。时钟信号CLK由I/O脚输入后进入芯片内部的时钟专用通道,直接连接到触发器的时钟端。触发器的输出与I/O脚相连,把结果输出到芯片管脚。这样PLD就完成了图1-6所示电路的功能。这个电路是一个很简单的例子,只需要一个LUT加上一个触发器就可以完成。对于一个LUT无法完成的电路,就

41、需要通过进位逻辑将多个单元相连,这样FPGA就可以实现复杂的逻辑。由于LUT主要适合SRAM工艺生产,所以目前大部分FPGA都是基于SRAM工艺的,而SRAM工艺的芯片在掉电后信息就会丢失,一定需要外加一片专用配置芯片,在上电的时候,由这个专用配置芯片把数据加载到FPGA中,然后FPGA就可以正常工作,由于配置时间很短,不会影响系统正常工作。也有少数FPGA采用反熔丝或Flash工艺,对这种FPGA,就不需要外加专用的配置芯片。4.2.3 其他类型的FPGA随着技术的发展,在2004年以后,一些厂家推出了一些新的PDL和FPAG,这些产品模糊了PLD和印GA的区别。例如Altera最新的撇MAX系列PLD,这是一种基于FPGA(LUT)结构,集成配置芯片的PLD,在本质上它就是一种在内部集成了配置芯片的FPGA,但由于配置时间极短,上电就可以工作,所以对用户来说,感觉不到配置过程,可以传统的PLD一样使用,加上容量和传统PLD类似,所以altera把它归作PLD。还有像Lattice的XP系列FPGA,也是使用了同样的原理,将外部配置芯片集成到内部,在使用方法上和PLD类似,但是因为容量大,性能和传统FPGA相同,也是LUT架构,所以Lattice仍把它归为FP

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号