脉冲序列检测器的设计.docx

上传人:b****6 文档编号:7840729 上传时间:2023-01-26 格式:DOCX 页数:23 大小:296.06KB
下载 相关 举报
脉冲序列检测器的设计.docx_第1页
第1页 / 共23页
脉冲序列检测器的设计.docx_第2页
第2页 / 共23页
脉冲序列检测器的设计.docx_第3页
第3页 / 共23页
脉冲序列检测器的设计.docx_第4页
第4页 / 共23页
脉冲序列检测器的设计.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

脉冲序列检测器的设计.docx

《脉冲序列检测器的设计.docx》由会员分享,可在线阅读,更多相关《脉冲序列检测器的设计.docx(23页珍藏版)》请在冰豆网上搜索。

脉冲序列检测器的设计.docx

脉冲序列检测器的设计

测试与光电工程学院

课程设计任务书

电子科学与技术系班学生

课题名称:

脉冲序列检测器的设计

课题要求:

查找相关资料,确定基于FPGA的多路脉冲序列检测器的设计方案,要求能对多路脉冲序列信号进行检测。

课题内容:

1、系统设计要求:

脉冲序列检测器广泛应用于现代数字通信系统中。

随着通信技术的发展,对多路脉冲序列信号检测要求越来越高,本实验设计一个基于FPGA的多路脉冲序列检测器。

设计完成后,经综合和仿真验证后,在FPGA中实现。

2、工作进度安排:

查找相关资料,确定脉冲序列检测器设计方案11月15日~11月21日第12周

系统各模块的详细设计11月22日~12月28日第13周

系统仿真及修正11月29日~12月5日第14周

系统测试,课程设计报告的撰写12月6日~12月10日第15周

主要参考资料:

【1】潘松,黄继业EDA技术使用教程(第三版)科学出版社2006

【2】邬杨波,王曙光,胡建平有限状态机VHDL设计及优化信息技术2004(01)

【3】刘欲晓EDA技术与VHDL技术电子工业出版社2009.4

【4】鄢靖丰,陈晓黎,王平用Verilog-HDL设计序列检测器2005(11)

【5】唐瑜,符兴吕,罗江用VHDL语寿实现序列信号的产生和检测2008(09)

【6】蒋昊,李哲英基于多种EDA工具的FPGA设计流程[J].微计算机信息,2007

【7】束礼宝,宋克柱,王砚方.伪随机数发生器的FPGA实现与研究[J].电路与系统学报,2003.8

系负责人:

指导教师:

柴明钢时间:

2010年11月10日

 

摘要

脉冲序列检测器广泛应用于现代数字通信系统中,随着通信技术的发展,对多路脉冲序列信号检测要求越来越高。

现代通信系统的发展方向是功能更强、体积更小、速度更快、功耗更低,大规模可编程逻辑器件FPGA器件的集成度高、工作速度快、编程方便、价格较低,易于实现设备的可编程设计,这些优势正好满足通信系统的这些要求。

随着器件复杂程度的提高,电路逻辑图变得过于复杂,不便于设计。

VHDL(VHSICHardwareDescriptionLanguage)是随着可编程逻辑器件的发展而发展起来的一种硬件描述语言。

VHDL具有极强的描述能力,能支持系统行为级、寄存器输级和门级三个不同层次的设计,实现了逻辑设计师多年来梦寐以求的“硬件设计软件化”的愿望,给当今电子通信系统设计带来了革命性的变化。

本文针对传统的脉冲序列检测器方案,提出了一种基于FPGA的脉冲序列检测器设计的新方案,该方案相对于传统的设计方法更适合于现代数字通信系统,不但大大减少了周边的设备,也使系统设计更加灵活,稳定性更好,性价比更高,可以满足多种环境下的检测系统的要求。

关键词:

可编程逻辑器件FPGA,硬件描述语言VHDL,序列检测器

 

摘要..................................................3

1.绪论................................................6

1.1课题设计背景.........................................6

1.2课题设计目的.........................................6

2.FPGA简介............................................7

2.1什么是FPGA.........................................7

2.2FPGA的结构与组成...................................8

2.3FPGA的设计流程.....................................9

2.4主控芯片Cyclone简介..................................15

2.5硬件描述语言VH......................................16

3脉冲序列检测器的设计...................................18

3.1脉冲序列检测器的原理..................................18

3.2设计要求...........................................19

3.3设计内容............................................19

3.4设计步骤............................................20

3.5顶层文件设计........................................25

3.6测试和仿真..........................................26

3.7结果分析...........................................27

3.88位序列检测器的设计.................................28

设计总结...............................................31

致谢..................................................32

参考文献..............................................33

 

1绪论

1.1课题设计背景

随着数字通信的广泛应用,可编程逻辑器件容量、功能的不断扩大,集成电路的设计已经进入片上系统(SOC)和专用集成电路(ASIC)的时代。

由于硬件描述语言VHDL可读性、可移植性、支持对大规模设计的分解和对已有设计的再利用等强大功能,迅速出现在各种电子设计自动化(EDA)系统中,先进的开发工具使整个系统设计调试周期大大地缩短。

利用硬件描述语言(如VHDL)来完成对系统硬件功能的描述,在EDA工具的帮助下通过波形仿真得到时序波形,这样就使得对硬件的设计和修改过程软件化,提高了大规模系统设计的自动化程度。

使用FPGA进行系统设计,大部分的工作都在计算机上完成。

它采用设计输入、功能仿真和设计修改等可以反复循环的流程,使设计过程具有较强的灵活性和高效性,硬件具有了一定的设计柔性,工作效率得到很大提高,大大缩短了系统的设计周期,降低了开发成本,编程调试极为方便,系统电路的体积大为缩小,可靠性大大提高,系统投人实际应用后将取得令人满意的效果。

传统的脉冲序列检测器,它的实现方法是把一个算法转化为一个实际数字逻辑电路的过程。

在这个过程中,我们所得到的结果大概一致,但是在具体设计方法和性价比上存在着一定的差异,存在电路设计复杂,体积大,抗干扰能力差以及设计困难、设计周期长等缺点。

而利用FPGA作为硬件电路,采用VHDL等硬件描述语言对硬件的功能进行编程,加快了系统的研发进程,采用数字化的控制方式,大幅度提高了逻辑控制的精确度,实时控制效果好,实践证明,FPGA芯片可以代替传统的复杂的电路,而且可以大比例地缩小了电路的硬件规模,提高了集成度,降低开发成本,提高系统的可靠性,为脉冲序列检测器电路的设计开辟了新的天地。

1.2课题设计目的

脉冲序列检测器在现代数字通信系统中发挥着重要的作用,通过中小规模的数字集成电路构成的传统脉冲序列检测器电路往往存在电路设计复杂,体积大,抗干扰能力差以及设计困难、设计周期长等缺点。

因此脉冲序列检测器电路的模块化、集成化已成为发展趋势.它不仅可以使系统体积减小、重量减轻且功耗降低,同时可使系统的可靠性大大提高。

随着电子技术的发展,特别是专用集成电路(ASIC)设计技术的日趋完善,数字化的电子自动化设计(EDA)工具给电子设计带来了巨大变革,尤其是硬件描述语言的出现,解决了传统电路原理图设计系统工程的诸多不便。

随着ASIC技术、EDA技术的不断完善和发展以及VHDL、HDL等通用性好、移植性强的硬件描述语言的普及,FPGA等可编程逻辑器件必将在现代数字应用系统中得到广泛的应用,发挥越来越重要的作用。

在这种背景下,针对大规模可编程逻辑器件FPGA器件的集成度高、工作速度快、编程方便、价格较低,易于实现设备的可编程设计的特点,用硬件描述语言设计FPGA器件来实现脉冲序列检测器。

应用可编程逻辑器件FPGA,来完成高速采编器的功能,具有速度更快、可靠性更高、调试方便的优点,而且电路简单,体积更小,利用VHDL开发的脉冲序列检测器,其通用性和基于模块的设计方法可以节省大量的人力,大大地缩短设计周期,在工程应用中已经取得了显著的效果。

可见,基于FPGA的脉冲序列检测器的设计是现代数字通信的发展要求,从而使得其具有更好的发展前景和使用价值。

 

2FPGA简介

2.1什么是FPGA

FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。

它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

目前以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至FPGA上进行测试,是现代IC设计验证的技术主流。

这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。

在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。

系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。

一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。

  FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。

但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。

厂商也可能会提供便宜的但是编辑能力差的FPGA。

因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。

另外一种方法是用CPLD(复杂可编程逻辑器件备)。

它的特点有:

1)采用FPGA设计ASIC电路(特定用途集成电路),用户不需要投片生产,就能得到合用的芯片。

  

2)FPGA可做其它全定制或半定制ASIC电路的中试样片。

  

3)FPGA内部有丰富的触发器和I/O引脚。

  

4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。

  

5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。

2.2FPGA的结构与组成

通常FPGA由布线资源分隔的可编程逻辑单元构成陈列,又由可编程I/O单元围绕陈列构成整个芯片,排成陈列的逻辑单元由布线通道中的可编程内敛线连接起来实现一定逻辑的功能。

FPGA的内部结构大致分为5个部分:

均匀分布的逻辑块组成的逻辑阵列,输入I/O输出块(I/O块),连线资源,全局网络,嵌入式资源。

FPGA器件的组合逻辑块是查找表结构。

I/O块可以配置成各种输入、输出模式。

连线资源用于将不同的逻辑块连接起来。

全局网络是连线资源中的特殊连线,其性能比普通连线要好得多,它延伸到器件内所有的资源位置。

全局网络一般分配给时钟信号,构成时钟树。

有时也可以分配给复位信号、使能信号或者其他特殊信号。

目前我们使用的的可编程逻辑单元一般由查找表和触发器构成。

下图所示即为Cyclone系列的FPGA芯片的逻辑单元(LE)组成.

2.3FPGA的设计流程

FPGA设计流程包括系统设计和设计实现,系统方案完成之后即进入设计实现阶段的工作,它以系统方案为输入,进行RTL级描述、功能仿真(RTL级仿真)、逻辑综合、布线前门级仿真、适配(布局布线)、时序仿真(布线后门级仿真)、时序分析、器件编程、系统验证一系列流程的处理才能完成FPGA芯片的设计,其设计流程如下图所示。

需要说明的是,如果仿真验证不对或者到走某一步有错,就要返回修改。

有必要检查和修改的地方有RTL级描述、系统方案、约束和测试激励等。

一般情况下,对RTL级的描述即原理图或者HDL设计代码的修改最多也最有效。

修改后要重新走一遍流程。

有时要反复修改,经过多次这样的迭代才能完成最后的设计。

在理论上,把VLSI(UltraLargeScaleIntegration,超大规模集成电路)的设计描述为6个层次[2][3],即系统级(系统功能、参数定义)、算法级(描述系统功能行为)、RTL级、门级(逻辑门)、电路级(晶体管)、版图级(物理工艺)。

每一级又都分3个侧面来描述:

行为域描述、结构域描述、物理域描述。

但在实际情况中往往把算法级行为域描述或者RTL级行为域描述都称为行为级描述。

对于FPGA的设计而言,我们不需要关心电路级和版图级,只考虑系统级、算法级、RTL级、门级4个层次的行为域描述和结构域描述即可。

本文上述的FPGA系统设计中的系统实际上是指系统级和算法级,而“RTL级描述”主要是指RTL级行为域的描述。

在门级,由综合工具产生的门级网表来描述。

FPGA的设计流程和相关概念说明如下:

库:

指FPGA器件厂家提供的工艺库和EDA工具提供的标准通用库(如IEEE库等)。

工艺库中有各种宏功能模块和基本功能单元,含有它们的行为级模型、门级模型、布线模型等信息。

需要说明的是,系统行为仿真和RTL级功能仿真有时要用到某种功能模块,例如RAM模型。

对于RAM模型的控制信号,不同的厂家其规定不一定相同,如写使能信号,有的厂家规定高电平有效,有的厂家规定低电平有效。

其实,在厂家提供的工艺库中,RAM模型有行为级模型、门级模型、版图级模型等。

而行为级模型只是规定其功能,无延时信息,跟工艺无关,但门级模型和版图级模型跟工艺密切相关。

解决的方法

是系统行为仿真时可以使用高级语言自己建立一个模型或者调用厂家库中提供的行为级模型,功能仿真时调用行为级模型,时序仿真时调用门级模型。

测试激励:

指测试文件,它调用FPGA设计的顶层模块,同时产生顶层模块需要的输入信号,称之为激励信号,使用行为描述即可,不要求可综合。

仿真时它作为最顶层的文件,从而可以观察FPGA的输出是否正确。

所有的仿真都可使用同一个测试激励。

约束:

指对逻辑综合和布局布线时的约束。

包括器件型号、速度、面积、功耗、引脚分配、时钟网络资源的分配、模块在器件中的定位等约束。

一部分在软件中设置,一部分以约束文件的形式存在。

1)系统行为描述:

是指使用硬件描述语言HDL(Hard2waredescriptionLanguage)语句的全集来描述算法,模拟系统的行为和功能,不要求所有的语句都能够综合成电路。

事实上,有的语句是专为描述行为而创建的,不能综合(即不能用电路来实现其功能)。

也可以使用高级语言如C来进行描述,此时往往要配合专用的系统设计工具来进行描述与仿真,如SPW等。

这种系统算法级行为域的描述可以尽量使用最简洁的语句而不必过多地考虑其硬件实现的诸因素,所以能较快建立系统行为模型,进行行为仿真。

2)系统行为仿真:

主要用来验证系统方案是否正确、是否有缺陷,并可根据仿真的结果来优化系统方案和算法。

它使用系统行为描述代码、测试激励、行为级模型库等为输入,利用专用的仿真工具或者系统设计软件来进行功能仿真和优化。

3)RTL级描述:

指原理图(结构描述)或者使用可综合的HDL语句来描述的设计(一般是行为描述)。

EDA综合软件只能将RTL级描述综合成逻辑电路。

利用综合软件可以检查出所写的代码是否是RTL级代码。

对简单的设计而言,可以直接从RTL级开始设计,但对大规模的设计,最好先写系统行为级代码进行行为仿真。

如果系统行为仿真正确,就可以将行为级代码转化为RTL级代码。

这种转化称之为高层次综合或者行为级综合。

转化的方法有2种:

一是使用高层次综合工具自动转化,例如SYNOPSYS公司的BehaviorCompiler[3];二是使用手工方法转化。

手工方法使用很普遍,原因是目前高层次综合的理论和方法还不成熟,其工具难求或者其性能没有手工方法好。

4)功能仿真:

也叫RTL级仿真,是指不考虑延时信息的一种仿真,只能验证RTL级的行为描述是否能达到所要求的功能。

功能仿真需要的输入是RTL级代码、测试激励和库(有时要调用工艺库中宏功能单元的行为级模型)。

可利用专用的仿真工具进行仿真,如Modelsim,VCS等工具。

如果仿真不

对,则需要检查和修改RTL级代码或者测试激励甚至系统方案。

仿真的过程是先对源代码进行编译,检查是否有语法错误。

如果没有错误,就将源代码转换为一种中间格式,便于仿真工具的内部运算。

编译的结果自动存放在一个指定的工作目录中,仿真的结果主要以波形文件的形式存放。

5)逻辑综合:

逻辑综合是将RTL级的行为描述转化为使用门级单元的结构描述。

门级的结构描述称之为网表。

网表文件主要记录的是所用工艺库门级单元之间的互连关系(即门级结构)。

综合的输入需要RTL级描述、约束和工艺库。

综合时所加的约束一般比较简单,如时钟频率、器件型号和其他综合设置等。

综合的过程是translate(转换)+map(映射)+optimize(优化)。

转换是将RTL级行为描述转化为RTL级结构描述(使用与工艺无关的通用逻辑门符号表示)。

映射是将转换后的结果使用工艺库门级单元的连接关系来表示,并根据需要进行优化,形成网表文件。

映射是对某种目标器件而言的一种资源分配和优化操作。

一般综合工具能将转换后的结果显示为RTL级原理图,也能将网表显示为门级原理图。

网表文件中含门级单元的延时信息,对连线延时有预估值或者为零,不同的软件处理的方法可能不同,暂称之为网表文件1。

网表文件的格式可以表示成标准格式(edif),也可以表示成VHDL或者Verilog_HDL格式(在综合工具中设置)。

综合报

告文件中含所用逻辑资源、预估出的时钟最高频率、关键路径(延时最长的路径,可在软件中显示)等信息。

6)布线前门级仿真:

是门级功能仿真,一般不考虑延时。

该仿真的输入需要综合后的门级网表、工艺库和测试激励。

有的EDA工具不提供此仿真功能,可以不做。

7)适配(布局布线):

适配就是将网表文件映射到目标器件中的一种操作,是对目标器件的第二次映射(第一次映射是综合)。

即对网表中的每一个门级单元在器件中定位(布局),并使用器件内的连线资源按照网表中的连接关系连接起来(布线)同时要满足引脚分配、时钟线的分配等约束条件。

适配的输入需要网表文件1、工艺库(要使用其中的布线模型等信息)和约束。

适配所加的约束比较多,如引脚分配、时钟树的分配、模块在器件中的定位等。

适配后产生的文件有网表文件2、反标文件和编程文件等。

根据适配工具和适配设置的不同,产生的网表文件2可以具有不同的格式并可以设置为包含延时信息(包括门延时和线延时)。

反标文件含延时信息,使用标准格式(SDF格式)表示。

编程文件用于对器件编程下载。

8)时序仿真:

是最接近真实情况的一种仿真,因为该仿真含所有的延时信息和约束信息(约束信息包含在网表文件2中)。

时序仿真的输入需要测试激励、工艺库门级单元模型、网表文件2和反标文件。

如果网表文件2中含有延时信息,则不需要反标文件。

时序仿真的结果跟延时关系极大。

延时跟工艺有关,特别是深亚微米工艺,线延时大大超过门延时,所以总延时跟布局布线关系极大。

如果仿真结果不对,要从约束、综

合、布局布线、RTL级代码等环节上找原因,也可以借助时序分析工具找原因。

9)时序分析:

使用EDA软件的时序分析功能能够分析所有时钟的频率、周期、关键路径和其他所有时钟路径上的延时信息,进行建立时间和保持时间分析和输入到输出、输入到寄存器、寄存器到输出的延时分析等,从而可以找出不满足时序关系的原因所在。

时序分析是一个辅助功能,有时可以不做。

10)器件编程:

指将适配后产生的编程文件下载到FP2GAöCPLD器件中。

下载的过程就是一个改写器件内逻辑结构的过程,故称之为编程。

下载使用专用的编程器或者下载电缆。

器件的编程接口一般使用10针JTAG插座。

习惯上,对CPLD器件的下载叫编程,对FPGA器件的下载叫配置。

CPLD器件基于EEPROM工艺或者FLASH工艺,掉电后信息不丢失。

而FGAP器件基于SRAM查找表工艺,掉电后编程信息会丢失,在下次上电后需要重新加载编程文件。

配置方式有多种模式,较常用的是PS模式(调试时用)和使用配置器件模式(产品中使用),它是使用一个EPROM型的配置芯片,先将编程数据烧写到配置芯片中,配置芯片跟FPGA使用专用接口引脚相连。

这样,上电后配置芯片自动给FPGA加载编程数据。

也可使用单片机进行配置。

11)系统验证:

先将FPGA芯片在测试板上进行功能验证,然后再到实际系统中验证。

系统验证通过后就可以在产品中使用。

至此,FPGA芯片设计完成。

2.4主控芯片Cyclone简介

Cyclone系列FPGA是Alera公司产品,它由六部分组成,分别为可编程输入输出单元、基本可编程逻辑单元、嵌入式块RAM、布线资源、底层嵌入功能单元和内嵌专用硬核等。

可编程输入/输出单元:

输入/输出(InPut/Output)单元简称1/0单元,它们是芯片与外界电路的接口部

分,完成不同电气特性下对输入/输出信号的驱动与匹配需求。

为了使FPGA有更加灵活的运用,目前大多数的FPGA的1/0单元被设计为可编程模式,即通过软件的灵活配置,可以配置不同的电气标准与1/0物理特性;可以调整匹配阻抗特性,上拉,下拉电阻;可以调整输出驱动电流的大小等。

基本可编程逻辑单元:

基本可编程逻辑单元(LE,Logicefement)是可编程逻辑的主体,可以根据设计灵活地改变其内部连接与配置,完成不同逻辑功能。

FPGA一般是基于SRAM工艺的,其基本可编程逻辑单元几乎都是由查找表和寄存器组成的。

FPGA内部查找表一般完成纯组合逻辑功能。

FPGA内部有很灵活的寄存器,可以按要求配置成带同步/异步复位和置位、时钟使能的触发器,也可以配置成锁存器。

利用FPGA内部寄存器可完成同步时序的设计。

嵌入式块RAM:

目前大多数FPGA都有内嵌RAM模块(BlockRAM),大大拓展了FPGA的应用范围和使用灵活性。

FPGA内嵌的RAM模块一般都是灵活地配置了单端口

RAM(SpRAM,singleportRAM),双端口RAM(DpRAM,DoubleportsRAM)伪双端口RAM(pseudoDpRAM)、CAM(ContentAddressableMemo)、FIFO(FirstInFirstout)等常用存储结构。

布线资源:

FPGA内部有着丰富的布线资源,这些布线资源根据工艺、长度、宽度和分布位置的不同而

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

当前位置:首页 > 求职职场 > 自我管理与提升

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1