基于FPGA的电话卡计费器设计毕业设计论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业设计(论文)
设计(论文)题目: 基于FPGA的电话卡计费器设计
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:
指导教师签名:日期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:
学位论文原创性声明
本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:日期:年月日
导师签名:日期:年月日
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
指导教师评阅书
指导教师评价:
一、撰写(设计)过程
1、学生在论文(设计)过程中的治学态度、工作精神
□优□良□中□及格□不及格
2、学生掌握专业知识、技能的扎实程度
□优□良□中□及格□不及格
3、学生综合运用所学知识和专业技能分析和解决问题的能力
□优□良□中□及格□不及格
4、研究方法的科学性;技术线路的可行性;设计方案的合理性
□优□良□中□及格□不及格
5、完成毕业论文(设计)期间的出勤情况
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格建议成绩:□优□良□中□及格□不及格(在所选等级前的□内画“√”)
指导教师:(签名)单位:(盖章)
年月日
评阅教师评阅书
评阅教师评价:
一、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
二、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:□优□良□中□及格□不及格(在所选等级前的□内画“√”)
评阅教师:(签名)单位:(盖章)
年月日
教研室(或答辩小组)及教学系意见
教研室(或答辩小组)评价:
一、答辩过程
1、毕业论文(设计)的基本要点和见解的叙述情况
□优□良□中□及格□不及格
2、对答辩问题的反应、理解、表达情况
□优□良□中□及格□不及格
3、学生答辩过程中的精神状态
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
评定成绩:□优□良□中□及格□不及格教研室主任(或答辩小组组长):(签名)
年月日
教学系意见:
系主任:(签名)
年月日
毕业设计(论文)学生开题报告表
课题名称基于FPGA的电话卡计费器设计课题类型设计
课题来源纵向导师
学生姓名学号专业电子信息科学
开题报告内容:(调研资料的准备,目的、要求、思路与预期成果;任务完成的阶段、内容及时间安排;完成设计(论文)所具备的条件因素等。
)
一、工程背景
1.FPGA背景
FPGA是英文Field Programmable Gate Array 的缩写,即现场可编程门阵列,它是在可编程阵列逻辑PAL(Programmable Array Logic)、门阵列逻辑GAL(Gate Array Logic)、可编程逻辑器件PLD(Programmable Logic Device)等可编程器件的基础上进一步发展的产物。
它是作为专用采集成电路ASIC(Application Specific Integrated Circuit)领域中的一种半定制电路而出现的,即解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA能完成任何数字器件的功能,上至高性能CPU,下至简单的74系列电路,都可以用FPGA来实现。
FPGA如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由设计一个数字系统。
通过软件仿真,我们可以事先验证设计的真确性。
在PCB 完成以后,还可以利用FPGA的在线修改能力,随时修改设计而不必改动硬件电路。
使用FPGA来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。
PLD的这些优点使得PLD技术在90年代以后得到飞速的发展,同时也大大推动了电子设计自动化EDA软件和硬件描述语言VHDL的进步。
2.EDA背景
EDA技术是现代电子信息工程领域的一门新技术,同时也是现代电子设计技术和电子制造技术的核心。
EDA技术是依赖功能强大的计算机,在EDA工具软件平台上开发出来的一整套电子系统设计的软硬件工具,并提供了先进的电子系统设计方法。
未来EDA技术将向深度和广度两个方面发展,有专家认为,21世纪将是EDA 技术快速发展的时期,并且EDA技术将是对21世纪产生重大影响的十大技术之一。
一般情况下,利用EDA技术进行电子系统设计,最终目标是完成专用集成电路ASIC的设计和实现。
基于可编程器件EDA技术主要包括如下四个要素:(1)大规模可编程器件
可编程逻辑器件(PLD,Programmable Logic Device)即部分功能可由软件程序更改的器件。
它是当前数字系统设计的主要硬件基础,是硬件编程语言VHDL的物理实现工具。
可编程逻辑器件使用计算机,利用软件,硬件对器件进行系列编程,然后通过程序指挥芯片配置连线和编程器件,把应连接的元件,单元连接起来。
根据用户编写的不同程序就可以制造出有不同电路功能的器件。
并在设计阶段进行仿真(Emulation)使得微电子设计实现了早期集成和软硬件联合验证。
CPLD实际是一个子系统部件,具有可编程性和实现方案容易改动的特点。
它具有更高的集成度,它允许更多的输入信号,乘积和宏单元。
CPLD内含多个I/O块和逻辑块。
这些逻辑块可以使用可编程内连线的布线来实现相互间联系。
每一个逻辑块就相当于一片220V10和236V18的PLD。
有乘积阵列,乘积项分配机构和宏单元。
I/O块通常具有逻辑功能和较强的I/O控制功能。
目前大部分CPLD器件还具有兼容于IEEE1149.1(JTAG)标准测试激励端和边界扫描能力,以及兼容于PCI接口协议的输入输出缓冲器。
(2) 硬件描述语言
硬件描述语言(HDL)是一种用文本形式来描述和设计电路的语言,它可以使电子系统设计者利用这种语言来描述自己的设计思想和电子系统的行为并建立模型,然后利用EDA工具进行仿真,自动综合到门级电路,可用ASIC或CPLD/FPGA 实现其功能。
目前其中最有代表性的是美国国防部开发VHDL(Very-High-Speed Integrated Circuit HDL),Verilog公司开发的Verilog HDL。
HDL(IEEE1164)和Verilog HDL(IEEE1364)被IEEE列为工业标准,被众多EDA工具所支持,在电子工程领域,已成为事实上通用的HDL。
将担负几乎全部的数字系统设计任务。
VHDL主要用于描述数字系统的结构,行为,功能和接口。
VHDL语言形式及描述风格与句法类似于一般的计算机高级语言。
VHDL的程序结构特点是,将一项工程设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(即端口)或内部。
在对一个设计实体定义了外部界面后,一旦其内部开发完成,其它设计就可以直接调用这个实体。
这种设计实体分成内外部分的概念就是VHDL系统设计的基本点。
(3)软件开发工具
MAX+PLUS II是Altera公司的第三代CPLD开发工具软件,它集成了可编程逻辑器件的设计环境。
它可以在多种平台上运行提供了灵活和高效的界面。
设计者无需精通器件内部的复杂结构,只需用自己熟悉的设计输入工具(原理图,波形图或硬件描述语言等)进行设计输入。
MAX+PLUS II将这些设计软件换成目标结构所要求的格式,从而使设计者能够轻松的掌握和使用MAX+PLUS II软件。
MAX+PLUS II具有以下特点:①开放的接口。
②与结构无关(指VHDL描述逻辑综合前与结构无
关)。
③多平台。
④完全集成化。
⑤多种设计库。
⑥模块化工具。
⑦硬件描述语言(HDL)。
⑧开放核的特点。
⑨Megacore功能。
(4)实验开发工具
利用EDA技术进行电子系统设计的下载与硬件验证工具,主要包括:①实验或开发所需的各类信号模块,包括时钟、脉冲、高低电平等;②通用数字式和扫描驱动类接口,包括各类输入显示或指示模块;③模拟器件及接口,包括模拟信号的放大,比较及A/D转换模块;④监控程序模块;⑤目标芯片适配座以及FPGA/CPLD 目标芯片和编程下载电路。
当前,EDA的主要应用方向为微控制器,ASIC和DSP等方面。
二、电话卡计费器设计
1.电话卡计费器设计原理
(1)根据电话局反馈回来的信号,代表话务种类(放回信号可自己输入),“00”表示特殊类电话,“01”表示市话,“10”表示国内长话,“11”表示国际长话;并用DE2板上的两个数码管用来显示通话为何种类型。
(2)利用DE2板上的两个数码管用来显示卡内余额(可自己设定初始余额),其单位为元,这里假定能显示的最大数额为10元。
余额根据打市话每分钟0.1元,打国内长话1元,打国际长话2元,打特殊电话1.6元来计算。
(3)显示本次通话的时长。
(4)余额过少时的警告信号。
当打市话时,余额少于0.2元,打国内长话时,余额少于2元,打国际长话时,余额少于4元,打特殊电话时,余额少于3.2元,即会产生信号警告。
(5)当警告时间过长(如超过1分钟)时自动切断通话信号。
2.各功能模块的设计和实现
(1)控制与计费模块
计费计时模块是整个IC电话计费器的核心部分。
它主要完成用户通话过程的计时、计费功能,且能够根据当前通话的种类(国际长途2元/分,国内长途1元/分、市话0.1元/分、特话1.6元/分)进行相应的扣费。
(2)显示模块
该模块经过3选1选择器将余额信息(4位BCD码以元为单位)、计时信息动态显示输出。
(3)报警模块
该模块的功能是产生光报警信号,提示用户卡内余额不足。
三、软件设计方案
1.软件整体设计
本系统设计的系统组成框图包括三个模块:控制与计费模块、显示模块和报警模块。
控制与计费模块完成计费功能并产生控制信号,控制另外两个模块。
显示模块动态显示通话时间与通话余额计费等信息。
报警模块是根据通话中出现的报警信息, 及时给出声、光或者声光报警。
本系统采用Verilog HDL硬件描述语言进行设计。
2.软件编程思路
开关一拨上以后,采用数码管显示卡的余额,这时候不计费.系统采用两个开关控制话务种类(返回信号可自己输入),“00”表示特殊电话,“01”表示市话,“10”表示国内长话,“11”表示国际长话;并用DE2板上的两个数码管来显示通话为何种类型;当两开关都没拨通时,处于未通话状态,系统只显示余额,不计费;当开关拨至01,处于市话状态中,拨通后,按市话通话系统计费;当开关拨至10,处于国内长途通话状态,拨通之后,采取长途计费方式;开关拨至11,处于国际长途通话状态,拨通之后,采取特别话费计费方式。
四、计划安排
1.实验设备
目前配备1G内存,联想笔记本电脑配置高,上机时间充足。
要求:
MAX+plus II软件一套;EDA实验(开发)平台一套,提高计算机配置,增加上机时间。
2.可能遇到的问题
对Verilog HDL语言还不够熟练,对编程环境比较陌生。
3.时间安排
2013年4月18日-4月25日查阅资料,进一步熟悉Verilog HDL编程,熟悉MAX+plus II软件的应用
2013年4月26日-5月20日完成设计方案,具体算法,编写出电梯控制器
的VHDL程序,并通过MAX+plus II软件仿真验证
其正确性
2013年5月20-5月27日利用EDA实验平台对该设计进行模拟测试
2013年5月28日-6月7日完成课题设计,总结写论文
参考文献
[1] 张亦华,延明,肖冰. 数字逻辑器设计实验技术与EDA工具. 北京:北京邮电大学出版社,2003.
[2] 李洪国,沈明山. 可编程器件EDA技术与实践. 北京:机械工业出版社
[3] 甘历. VHDL应用与开发实践. 北京:科学出版社,2003.
[4] 潘松,黄继业. EDA技术实用教程. 北京:科学出版社
[5] Mark Zwolinski. VHDL数字系统设计[英]. 北京:电子工业出版社,2002.
指导教师签名:日期:
注:1、课题类型:设计或论文。
2、课题来源:纵向、横向或自拟课题,对于纵向和横向课题并要用括号括
起填写确切基金项目、企事业单位项目。
目录
摘要 (I)
Abstract (II)
1.绪论 (1)
1. 1课题背景 (1)
1. 2课题研究内容 (1)
1. 2. 1设计任务目的 (1)
1. 2. 2设计任务要求 (1)
2.综述 (3)
2. 1FPGA简介 (3)
2. 1. 1FPGA概述 (3)
2. 1. 2FPGA的基本结构 (3)
2. 1. 3FPGA的特点 (5)
2. 1. 4FPGA的配置模式 (5)
2. 1. 5FPGA的应用 (6)
2. 2EDA技术简介 (6)
2. 2. 1EDA的技术与发展 (6)
2. 2. 2Verilog HDL语言的优点 (7)
2. 2. 3Verilog HDL设计流程 (7)
2. 3Quartus Ⅱ简介 (8)
3.原理与模块介绍 (9)
3. 1电话卡计费器设计原理 (9)
3. 1. 1电话卡计费器的控制要求 (9)
3. 1. 2方案设计和功能分割 (10)
3. 2各功能模块的设计和实现 (10)
3. 2. 1控制与计费模块 (10)
3. 2. 2显示模块 (11)
3. 2. 3报警模块 (12)
4.软件设计方案 (13)
4. 1系统的软件设计 (13)
4. 1. 1软件整体设计 (13)
4. 1. 2软件编程思路 (13)
5.仿真结果与分析 (14)
5. 1市话仿真结果 (14)
5. 2国内长途仿真结果 (14)
5. 3国际长途仿真结果 (16)
5. 4特殊电话仿真结果 (16)
结束语 (19)
致谢 (20)
参考文献 (21)
各模块源代码 (22)
摘要
目前,随着通信事业的发展及人们生活水平的提高,手机、小灵通各种先进的通信设备纷纷涌现,并越来越普及。
虽然固定电话面对如此冲击,但并未退出历史舞台,相反因其信号强的固定优势,而走进了各家各户。
电话机用户数以万计,计费依据来自电信局交换机给出的清单。
虽然清单方式是准确的,但是电话机用户并不能及时方便地看到费用清单。
然而卡式电话机可以实现这个要求,它能够实时显示和计费,能够给用户一个直接的信息。
本课题以现场可编程逻辑器件FPGA为设计载体,以硬件描述语言Verilog HDL为主要表达方式,以Quartus Ⅱ开发软件和DE2开发板为设计工具进行公用电话计时计费系统的设计,其能够显示用户IC的卡值余额,并能够根据用户当前的话务种类和通话时间进行扣费,并将用户的实时余额和通话时间通过4位LED七段显示器显示出来。
整个设计过程采用自顶向下的分块设计方法,即将整个电话计费系统分为控制与计费模块、显示模块和报警模块。
在整个设计过程中一共设计了4种计费方式,其分别为市话、国内长话、国际长话和特殊电话,当话费不足时有报警功能,报警一分钟后自动切断通话,当用户结束通话,系统清零。
关键词:电话计费器;FPGA;Verilog HDL;DE2;Quartus Ⅱ;报警
Abstract
At present, with the development of communication and people’s living standards improve, mobile phones, PHS and all kinds of advanced communications equipment have emerged, and more and more popular. Although the fixed telephone in the face of such a shock, but did not withdraw from the stage of history, because of its strong signal of fixed advantage, and walked into the families.
Tens of thousands of telephone users, charging basis from the telecommunication bureau switch statement. Although the list is accurate, but the telephone users cannot easily see cost list in time. However the card telephone can achieve this requirement. It can real-time display and billing, to give the user a direct information.
The field programmable logic device FPGA as design carrier, the hardware description language Verilog HDL as the main way of expression, the design with Quartus II software and DE2 development board as the design tool for timing and charging system of public telephone, it can display the user IC card value of the balance, and can be charged according to the user's current traffic type and duration of the call, and the 4 LED seven display through the user's real-time balances and call time. The whole design process adopts the block the top-down design method, the telephone billing system is divided into control and billing module, display module and alarm module. In the entire design process, designed a total of 4 kinds of charging mode, respectively, domestic long-distance telephone, international long-distance telephone calls and special, when insufficient has alarm function, alarm after a minute cut off automatically when the user call, end the call, the system clear.
Key words:FPGA; Verilog HDL; DE2; Quartus Ⅱ; Call the police
1.绪论
1. 1课题背景
当今,随着科学技术的发展,计算机技术带来了科研和生产的许多重大的飞跃,特别复杂可编程逻辑芯片的应用已经渗透到生产和生活中的各个方面,有力推动了社会的发展,特别是在实时控制方面有着比较强的功能。
其性能不断提高,应用范围愈来愈广。
在公用电话业务发展中,实时电话计资系统是企业、事业单位信息管理的一个重要组成部分。
1. 2课题研究内容
1. 2. 1设计任务目的
在商品经济迅猛发展中,人们对电话的需求日益增长,大力发展和普及公用电话,以满足人们日常生活以及流动人口办理业务之需,已经成为当前市场趋势。
在公用电话业务发展中,由于诸多原因,计费不准的现象屡见不鲜,相关管理混乱,给人们生活带来极大不便。
为了使电话计费更加准确,本文将介绍一种采用FPGA设计实现电话卡计费器的方法。
1. 2. 2设计任务要求
设计电话卡计费器实现如下功能:
1)根据电话局反馈回来的信号,代表话务种类(返回信号可自己输入),“01”为市话(0.1元/分钟),“10”为国内长话(1元/分钟),“11”为国际长话(2元/分钟),“00”为特殊种类电话(1.6元/分钟),并用DE2板上的两个数码管来显示通话为何种类型。
2)利用DE2板上的两个数码管用来显示卡内余额(可自己设定初始余额),其单位为元,这里假定能显示的最大数额为10元。
余额根据打市话每分钟0.1元,打国内长话1元,打国际长话2元,打特殊电话1.6元来计算。
3)显示本次通话的时长。
4)余额过少时的发出警告信号。
当打市话时,余额少于0.2元,打国内长话时,余额少于2元,当打国际长话时,余额少于4元,当打特殊电话时,少于3.2元,即会产生警告信号。
5)当余额不足以通话一分钟时自动切断通话信号。
6)利用VHDL/Verilog语言设计电话卡计费器。
7)利用DE2板对所设计的电路进行仿真、下载验证。
8)总结电路设计结果,撰写课程设计报告。
2.综述
2. 1FPGA简介
2. 1. 1FPGA概述
FPGA是英文Field Programmable Gate Array 的缩写,即现场可编程门阵列,它是在可编程阵列逻辑PAL(Programmable Array Logic)、门阵列逻辑GAL (Gate Array Logic)、可编程逻辑器件PLD(Programmable Logic Device)等可编程器件的基础上进一步发展的产物。
它是作为专用采集成电路ASIC (Application Specific Integrated Circuit)领域中的一种半定制电路而出现的,即解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA能完成任何数字器件的功能,上至高性能CPU,下至简单的74系列电路,都可以用FPGA来实现。
FPGA如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由设计一个数字系统。
通过软件仿真,我们可以事先验证设计的真确性。
在PCB完成以后,还可以利用FPGA的在线修改能力,随时修改设计而不必改动硬件电路。
使用FPGA来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。
PLD的这些优点使得PLD 技术在90年代以后得到飞速的发展,同时也大大推动了电子设计自动化EDA软件和硬件描述语言VHDL的进步。
2. 1. 2FPGA的基本结构
FPGA由6部分组成,分别为可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核等。
每个单元简介如下:
1.可编程输入/输出单元(I/O单元)
目前大多数FPGA的I/O单元被设计为可编程模式,即通过软件的灵活配置,可适应不同的电器标准与I/O物理特性;可以调整匹配阻抗特性,上下拉电阻;可以调整输出驱动电流的大小等。
2.基本可编程逻辑单元
FPGA的基本可编程逻辑单元是由查找表(LUT)和寄存器(Register)组成的,查找表完成组合逻辑功能。
FPGA内部寄存器可配置为带同步/异步复位和置位、时钟使能的触发器,也可以配置成为锁存器。
FPGA一般依赖寄存器完成同
步时序逻辑设计。
一般来说,比较经典的基本可编程单元的配置是一个寄存器加一个查找表,但不同厂商的寄存器和查找表的内部结构有一定的差异,而且寄存器和查找表的组合模式也不同。
学习底层配置单元的LUT和Register比率的一个重要意义在于器件选型和规模估算。
由于FPGA内部除了基本可编程逻辑单元外,还有嵌入式的RAM、PLL 或者是DLL,专用的Hard IP Core等,这些模块也能等效出一定规模的系统门,所以简单科学的方法是用器件的Register或LUT的数量衡量。
3.嵌入式块RAM
目前大多数FPGA都有内嵌的块RAM。
嵌入式块RAM可以配置为单端口RAM、双端口RAM、伪双端口RAM、CAM、FIFO等存储结构。
CAM,即为内容地址存储器。
写入CAM的数据会和其内部存储的每一个数据进行比较,并返回与端口数据相同的所有内部数据的地址。
简单的说,RAM是一种写地址,读数据的存储单元;CAM与RAM恰恰相反。
除了块RAM,Xilinx和Lattice的FPGA还可以灵活地将LUT配置成RAM、ROM、FIFO等存储结构。
4.丰富的布线资源
布线资源连通FPGA内部所有单元,连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。
布线资源的划分:
1)全局性的专用布线资源:以完成器件内部的全局时钟和全局复位/置位的布线;
2)长线资源:用以完成器件Bank间的一些高速信号和一些第二全局时钟信号的布线。
3)短线资源:用来完成基本逻辑单元间的逻辑互连与布线;
4)其他:在逻辑单元内部还有着各种布线资源和专用时钟、复位等控制信号线。
由于在设计过程中,往往由布局布线器自动根据输入的逻辑网表的拓扑结构和约束条件选择可用的布线资源连通所用的底层单元模块,所以常常忽略布线资源。
其实布线资源的优化与使用和实现结果有直接关系。
5.底层嵌入功能单元
6.内嵌专用硬核
与“底层嵌入单元”是有区别的,这里指的硬核主要是那些通用性相对较弱,不是所有FPGA器件都包含硬核。