基于FPGA的HDB3码的编译码器与译码器设计软件设计.docx
- 文档编号:26325398
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:43
- 大小:161.63KB
基于FPGA的HDB3码的编译码器与译码器设计软件设计.docx
《基于FPGA的HDB3码的编译码器与译码器设计软件设计.docx》由会员分享,可在线阅读,更多相关《基于FPGA的HDB3码的编译码器与译码器设计软件设计.docx(43页珍藏版)》请在冰豆网上搜索。
基于FPGA的HDB3码的编译码器与译码器设计软件设计
昆明学院
2013届毕业论文(设计)
论文(设计)题目基于FPGA的HDB3码的编码器
与译码器设计(软件设计)
子课题题目
姓名周艳
学号7
所属院系自动控制与机械工程学院
专业年级2010级通信技术1班
指导教师任杰
2013年5月
摘要
HDB3码是基带传输码型之一,因为它具有无直流分量、低频分量少、连0数不超过3个这些特点,所以有利于信号的恢复和检验,所以HDB3码被广泛应用到井下电缆遥传系统以及高速长距离书记通信中等。
FPGA具有成本低、可靠性高、开发周期短、可重复编程等特点。
利用EDA技术,可对其实现硬件设计软件化,加速了数字系统设计的效率,降低了设计成本。
本文先对HDB3码,FPGA器件和EDA技术的发展背景进行简述。
接着阐述EDA技术中常用的VHDL语言的发展与优点,并以VHDL为核心,简要说明硬件电路的设计的方法步骤。
然后介绍HDB3码的编译码原理以及其特点。
最后,对HDB3码的编译原理进行重点分析,并且以VHDL语言为主,分别对编码器部分和译码器部分的具体实现方法进行说明,给出具体设计的思考方案和程序流程图,并对设计方案进行软件仿真,同时给出仿真结果并对其进行分析,证明设计方案的正确性。
关键词:
HDB3码;FPGA;EDA;VHDL;编译码
Abstract
HDB3codeisoneofcodesusedinthetransmissionsystem.IthasnoDCcomponentsandafewofLFcomponents.Moreover,ithascontinuouszerosnomorethanthree.ThefeaturesofHDB3codehelpthesignaltoberebuiltandbecheckedforerroreasily,soHDB3codeisthecommonlyusedcodeinthetransmissionsystem.Lowcost,dependability,shortdesigncycleandrepeatedprogramabilityarethefeaturesofFPGA.YoucandesignhardwareofdigitalcircuitsbyusingsoftwareasaresultofusingFPGAwithEDA.Itwillconstructthedigitalsystemquicklysystemquicklyandreducethecostofdesign.
ThispaperfirstintroducesthedevelopmentandbackgroundofHDB3.FPGAandEDA,andthenexpandsVHDL.whichiscommonlyusedasdesign-entrylanguageforEDA.Asummaryofdigitalcircuits’designbyusingVHDLisprovided.Moreover,theprincipleanddecoderisdesignedbyusingVHDL.Finally,theplanofdesign,theflowofsoftwaredesignandthesimulatedwaveformofHDB3encoderanddecoderispresented,showingcorrectnessofthedesign.
Keywords:
HDB3code;FPGA;EDA;VHDL;EncoderandDecoder
第一章概述1
1.1HDB3码的简述1
1.2FPGA简介2
1.2.1FPGA的发展历程2
1.2.2FPGA基本结构及其特点3
1.3EDA技术4
1.4VHDL硬件描述语言4
1.4.1简介4
1.4.2VHDL具有的特点5
1.4.3VHDL的优点7
1.4.4VHDL设计硬件电路的方法7
第二章HDB3码的编译规则10
2.1主要的基带传输码型10
2.1.1NRZ码的编码规则10
2.1.2AMI码的编码规则10
2.2HDB3码的编码规则11
2.3HDB3码的译码规则12
2.4HDB3码的检错能力12
第三章HDB3编码器的FPGA实现13
3.1HDB3码编码器的实现分析13
3.2HDB3码编码器的设计思路13
3.2.14连‘0’的检出加V及判‘1’极性13
3.2.2取代节的选取13
3.3设计建模14
3.3.1插“V”码模块设计及仿真15
3.3.2插“B”码模块设计及仿真17
3.3.3HDB3编码器的极性转换模块设计及仿真20
第四章HDB3译码器的FPGA实现24
4.1译码器的实现分析24
4.2HDB3译码器的设计思路24
4.3V的检测25
4.4扣V扣B25
4.5设计建模25
4.5.1扣V扣B的实现26
4.6软件仿真26
第五章结论28
参考文献29
附录30
辞38
第一章概述
1.1HDB3码的简述
HDB3(HighDensityBipolaroforder3code)码的全称是三阶高密度双极性码,又称为四连“0”取代码,它是一种AMI码的改进,保持了AMI码的优点而克服其缺点。
HDB3码因具有无直流成分,低频成分和连0个数最多不超过三个等明显优点,对定时信号的恢复十分有利,而成为普遍使用的基带传输码型之一。
在数字传输系统中,其传输对象通常是二元数字信息。
一般使用有限的离散的波形来表示数字信息。
这些离散波形可以是未经调制的不同电平信号,也可以是调制后的信号形式。
由于未经调制的电平脉冲信号所占据的频带通常从直流和低频开始,因而成为数字基带信号。
数字基带信号是数字信息的电脉冲表示,不同形式的数字基带信号(又称为码型)具有不同的频谱结构,合理地设计数字基带信号以使数字信息变换为适合给定信道传输特性的频谱结构,是基带传输首要考虑的问题。
实际上,在数字设备部用导线连接起来的各器件之间就是用一些最简单的数字基带信号来传送定时和信息的。
当数字信号进行行距离传输时,高频分量的衰减随距离的增大而增大,电缆中线对之间的电磁辐射也随着频率的增高而加剧,从而限制信号的传输距离和传输质量,同时信道中往往还存在隔直流电容和耦合变压器,他们不能传输直流分量及对低频分量有较大的衰减,因此对于一般信道高频和低频部分均是受限的。
对于以上信道,要求所使用传输码型的频谱不含直流分量,并且低频分量和高频分量都很少。
传输码型中应含有定时时钟信息,以利于接收端提取定时时钟,在基带传输系统中,定时信息是在接收端恢复原始信息所必需的。
在一般传输系统中为了节省频带从而不传输定时信息,必须在接收端从相应的基带信号中加以提取。
实际传输中希望能及时监视误码,如果传输码型有一定的规律性,那么就可以根据这一规律性来检测传输的质量,以便做到自动监测,因此,传输码型应具有一定的误码检测能力。
当然,对传输码型的选择还需要编码和译码设备尽量简单等要求,但以上的几点是最主要的额考虑因素。
HDB3码又叫三阶高密度双极性码(HighDensityBipolar),是在AMI码的基础上改进的一种双极性归零码,它除具有AMI码功率谱中无直流分量,可进行差错自检等优点外,还克服了AMI码当信息中出现连“0”码时定时提取困难的缺点,而且HDB3码频谱能量主要集中在基波频率以下,占用频带较窄,是ITU-TG.703推荐的PCM基群、二次群和三次群的数字传输接口码型,因此HDB3码的编解码就显得极为重要了。
1.2FPGA简介
1.2.1FPGA的发展历程
作为一种可编程逻辑器件,现场可编程门阵列(FiledProgrammableGateArray)的出现是可编程逻辑器件发展变化的必然,它的出现推动着可编程逻辑器件的进一步发展。
因此说,了解了可编程逻辑器件的发展历程,也就了解了FPGA的发展历程。
可编程逻辑器件是20世纪70年代发展起来的一种新型器件。
它的应用不仅简化了电路设计,降低了成本,提高了系统的可靠性,而且给数字系统的设计方式带来了革命性的变化。
可编程逻辑器件的发展是以微电子制作技术的不断进步为基础的,其结构和工艺的变化经历了一个不断发展变革的过程。
20世纪70年代,早期的可编程逻辑器件只有可编程只读存储器(PROM)、紫外线可擦除只读存储器(EPROM)和可电可擦除只读存储器(EEPROM)3种。
随后,出现了一类结构稍微复杂的可编程芯片,即可编程逻辑阵列,(ProgrammableLogicArray,PLA)。
PLA在结构上是由一个可编程的与阵列和可编程的或阵列构成,阵列规模小,编程过程复杂繁琐。
PLA既有现场可编程的,也有掩膜可编程的。
在这之后出现了可编程阵列逻辑PLA器件,它由一个可编程的“与”平面和一个固定的“或”平面构成,是现场可编程的。
它的实现工艺有反熔丝技术、EPROM技术和EEPROM技术3种。
在PLA的基础上,又发展出了一种通用阵列逻辑(GenericArrayLogic,GAL),如果GAL16V8、GAL22V10等。
它采用了输出逻辑宏单元结构和EEPROM工艺,因而其设计具有很强的灵活性,至今仍有很多应用。
这些早期的PLD器件的一个共同的特点就是可以实现速度特性较好的逻辑功能,但是由于其结构过于简单,因此只能用于实现较小规模的电路设计。
为了填补这一缺陷,20世纪80年代中期,著名的可编程逻辑器件厂商Alter和Xilinx分别推出了扩展型的复杂可编程逻辑器件(ComplexProgrammableLogicDevice,CPLD)和类似于标准门阵列的现场可编程门阵列FPGA。
CPLD和FPGA的功能基本相同,只是芯片部原理和结构有些差别。
这两种器件兼容了PAL和GAL器件的优点,可用于实现较大规模的电路设计,编程也很灵活,所以,被广泛应用于产品的原型设计和小批量生产之中。
几乎所有使用PLA、GAL和中小规模通用数字集成电路的场合均可应用CPLD和FPGA器件。
如今,FPGA器件已成为当前主流的可编程逻辑器件之一,经过近20年的发展,可编程逻辑器件已经取得长足的进步,资源更加丰富,使用越来越方便。
将来的可编程逻辑器件,密度会更高、速度会更快、功耗会更低,同时还会增加更多新的功能,向着集成了可编程逻辑、CPU、存储器等组件的可编程单片系统(SystemOnProgrammableChip,SOPC)方向发展。
1.2.2FPGA基本结构及其特点
基本结构:
典型的FPGA它通常包含三类编程资源:
可编程逻辑功能块CLB(ConfigurableLogicBlocks),可编程I/O模块IOB(Input/OutputBlock)和可编程部互连PI(ProgrammableInterconnect)。
CLB是实现逻辑设计的基本单元,它们排列为阵列,散布于整个芯片。
CLB的功能很强,不仅实现了逻辑函数,还可配置为RAM等复杂形式。
IOB作为芯片上逻辑与外部封装引脚的接口,通常围绕着阵列芯片的周围。
PI包括各种长度的连线和一些可编程连接开关,通过它们把各个CLB、IOB按设计要求连接起来,构成特定功能的电路。
FPGA器件的功能由逻辑结构的配置数据决定,工作时,配置数据存放于片的SRAM或熔丝上。
使用SRAM的FPGA器件,工作前需从芯片外部加载配置数据。
配置数据可存储于片外的EPROM或其他存储体上。
用户可控制加载过程,在现场修改器件逻辑功能,即现场可编程。
特点:
(1)FPGA的逻辑单元从功能上而言,比CPLD的组合乘积项及宏单元要简单的多,但是它可由逻辑单元的级联来创建很大的函数功能;
(2)PLD适合于复杂组合逻辑,FPGA适合于设计复杂的时序逻辑。
(3)FPGA的制造工艺确定了FPGA芯片中包含的LUT和触发器的数量非常多,可达上万个,而PLD一般只能做到512个逻辑单元,因此FPGA的平均逻辑单元成本大大低于PLD。
(4)在CPLD器件可以通过逻辑阵列将大型函数在一级逻辑中实现,具有较高的系统运行速度,并且其易于确定的时序参数也有助于逻辑分析工作,但是它的寄存器资源相对FPGA较少。
(5)FPGA器件具有较小的基本逻辑单元,适合实现流水线结构的设计,也可以利用逻辑单元的线连来实现较长的数据通路。
(6)FPGA的逻辑单元阵列可以将设计功能进行更细的划分,可充分地利用单元的各种资源,但同时也加大了逻辑优化和时序分析地难度。
1.3EDA技术
EDA(ElectronicDesignAutomation)即电子设计自动化,它是指利用计算机来完成电子系统的设计。
EDA技术研究的对象是电子设计的全过程,有系统级、电路级和物理级三个层次的设计。
其涉及的电子系统是指从低频、高频到微波,从线性到非线性,从模拟到数字,从通用集成电路到专用集成电路构造的电子系统,因此,EDA技术研究的畴相当广泛。
从专用集成电路(ASIC)开发与应用角度看,EDA软件系统应当包含以下子模块:
设计输入子模块、设计数据库子模块、分析验证子模块、综合仿真子模块、布局布线子模块等。
在现代电子设计技术领域种,EDA技术已成为主要的设计手段。
EDA技术可把数字通信技术,微电子技术和现在电子设计自动技术结合起来,实现了硬件设计软件化,加速了数字通信系统设计的效率,降低了设计成本。
利用EDA技术进行电子系统的设计,具有以下几个特点:
(1)用软件的方式设计硬件;
(2)用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;
(3)设计过程中可用有关软件进行各种仿真;
(4)系统可现场编程,在线升级;
(5)整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。
因此,EDA技术是现代电子设计的发展趋势。
1.4VHDL硬件描述语言
1.4.1简介
VHDL是一种超高速集成电路硬件描述语言,它提供了一个标准的,从逻辑门级到数字系统级的各抽象级描述硬件的标准文本,提供了精确的语法和语义,为集成电路及系统设计提供了形式化、层次化和规化的描述,不仅能有效地用于CAD进行模拟,而且可作为一种精确的自然语言用于设计者之间的设计交流,它允许设计者在语言的基本作用畴之外表示信息,尽管最初的工具在某些级(例如开关级)不能提供模拟。
由于没有限制设计者必须拥有特殊的硬件技术或设计方法,该语言在工业上有着广泛的用途,它被喻为硬件描述语言中的“FORTRAN”,其性能是其它硬件描述语言无法媲美的。
由此,VHSIC的硬件描述语言(VHSICHDL)即VHDL便诞生了,并很快被美国电气和电子工程师协会所承认。
VHDL语言描述电路的行为,具有很强的电路功能描述能力,适用于大规模电子系统的设计。
1.4.2VHDL具有的特点
(1)具有程序包的特点
VHDL是第一个包含了程序包概念的硬件描述语言(HDLS),这一特点是源于Ada
语言,由它提供了封装定义和应用函数的技术。
这一特点特别适用于硬件描述,因为它提供了把工艺技术依赖性等收集进存储单元的手段。
VHDL的程序包中包含了许多说明,这些说明可以某种方式和设计者的思想相联系,这个程序也可用作一个具有通用性的标准程序包。
在一个程序包中,可以出现不同类型的说明,包括类型和子类型说明、属性说明、常数和别名的说明及子程序的说明,但其中不允许信号变量说明,也不允许接口描述存在。
一旦定义了一个程序包,它就可以被任何的描述所参考。
VHDL语言中还拥有一个标准程序包,它包括了所有的预定义类型、属性和函数,不能为设计者们所更改。
为了方便设计者,在设计库中也提供了其它预定义程序包,比如:
预定义的MEA?
SURE包含了许多通用的物理类型说明(象距离、电压、效率等)。
(2)引入了设计实体
原来的HDLS倾向于集中在对某个设计的描述技术上,而忽略了在设计全过程中
所具有的许多级上描述的事实。
VHDL对许多接口的分开描述和对一个接口的相互联
系的多重描述提供了从上至下和从下至上的设计工具。
一个设计实体能够模拟复杂性不一的硬件,如可模拟逻辑门、触发器、控制单元甚至一个计算机系统。
一个设计实体由一个接口和一个或多个可变体构成。
接口中含有可变体的公共说明的集合,这些说明抓住了硬件实体的外部特点,表明了设计实体和外部环境传输信息的通道。
设计者分析硬件实体的途径不受限制,同一硬件实体的可变结构的实现能被模拟用来评估成本及速度因素,类似硬件实体的功能、物理的结构也能被模拟,各个与同一接口相联系的可变体,可以使用接口中提供的所有说明。
(3)具有属性和类属的特点
属性提供了一种通常的联系,是对性质和数值的描述,其它系统均可以使用。
类属增加了设计实体重新使用的可能性,例如:
工艺可靠性,诸如噪声系数或功率消耗可以聚集在类属中。
使用设计实体时,可通过提供
需要的类属值确定一个特殊的工艺。
(4)数据消除功能
此功能使得用户能自定义。
当冲突源同时出现时,对于一个给定的信号,将发生什么情况;在大多数语言中,解决此类冲突的算法是预定义的,不为用户所控制,而VHDL可将这种定义交给用户定义。
(5)传输和惯性延迟
VHDL在信号赋值语句中提供了两种延时方式:
传输延迟是保证不管如何排列,所
有的变化都能通过设计向前传输;惯性延迟则是消除所有比某些定义宽度还窄的脉冲。
因此阻止了它们在设计中的传输。
(6)用户自定义类型
VHDL允许用户自定义类型来定义模拟值,就是定义使用本语言预定义的对用户
手头工作来说不能不适合的模拟值的性质。
(7)并行和时序混合的性质
VHDL可以使一个信号属性不仅包括时序还包括并行的码。
某些HDLS需要把
这些结构严格地区分开,有的仅提供了一种。
在VHDL中,过程(时序特性的)语句可以放在块(并行特性)语句的任何所希望的地方,并允许写成整体上是并行的,但其中某些段是被描述为时序的。
(8)性能和结构的混合
VHDL通过作为一类并行语句(称之器件例示语句)而提供了结构描述。
由于联在一起的器件总是同时工作的,所以以上的语句中有实际硬件的语义。
因
此,结构语句完成了具有并行特性的情况,而大多数别的硬件描述语言则把结构描述看成
语义上区别于并行特性的语句。
(9)物理描述能力
VHDL语言是第一种能定义所有硬件描述中所必需的物理单位的HDL,物理单位
的使用和有效的类型检查提供了硬件的精确物理描述,使用VHDL甚至能描述机械学、热力学和硬件设计的可靠性。
(10)设计的多级描述能力
VHDL可支持设计的多级描述:
在性能畴,VHDL使用户能用块语句(并行时间特性)和过程语句(时序时间特性)来定义性能。
从算法级到电路级的所有级都可以用这种方式来定义。
%在结构畴,VHDL使用户能描述逻辑的和物理的分割与联结,用接口和器件说明、器件例子说明及配置体语句,从结构级到电路级的所有级都可以进行描述。
&在物理畴,当不具有指定的物理类型的描述,某种VHDL特性(特别的属性)能描述诸如方位、时间、功率、围等物理信息。
当然,VHDL也有一些不足之处,如;缺少WAIT语句,不能等待时序,不能处理动
态结构,但VHDL的许多优点给硬件设计者
带来了方便,可为广大用户所接受。
1.4.3VHDL的优点
VHDL迅速普及主要因为的是他的强大的自身功能和特点,主要优点如下:
(1)覆盖面积广,有强大的系统硬件描述能力
VHDL可以覆盖行为描述、寄存器传输级描述、门描述、电路描述和物理描参数描述(包括延时、功耗、频率、几何尺寸等)。
VHDL还具有丰富的数据类型。
即可以支持预定义的数据类型,也可以自己定义数据类型。
这样便给硬件描述带来了较大的自由度,使设计人员能够方便地使用VHDL创建高层次的系统模型。
(2)可读性好、易于修改
在硬件电路设计过程中,主要的设计文件是用VHDL编写的源代码,因为VHDL易读和结构模块化,所以易于修改设计。
(3)独立于器件的设计,与工艺无关
用VHDL进行硬件电路设计时,并不需要首先考虑选择完成设计的器件,也就是说,VHDL并没有嵌入具体的技术和工艺约定,设计人员可以集中精力进行设计的优化,不需要考虑其他问题。
当一个设计描述完成以后,可以用多种不同的器件结构来实现其功能。
(4)易于移植和设计资源共享
由于VHDL是一种国际标准化的硬件描述语言,对于一个设计描述,他可以移植到符合相同标准的任意系统或平台上运行。
对于一些较大的通用性硬件电路,目前已经有专门的IP核出售,因此,能实现设计资源的有偿使用,可大大缩短设计周期,加快设计产品的上是速度,
1.4.4VHDL设计硬件电路的方法
VHDL是IEEE所确认的一种标准化硬件描述语言,它在设计描述的过程中有一定的设计流程可以遵循。
一般来讲,VHDL的设计流程主要包括以下几个步骤:
(1)设计规的定义
采用VHDL进行设计的描述之前,首要对电子系统的设计目的和设计要求有一个明确的、清晰的认识,然后形成整体设计规的定义,这一步骤对以后的设计来说是非常重要的。
设计规的定义将对后面的设计步骤起到提纲挈领的作用,它相当于系统设计的总体方案。
(2)采用VHDL进行设计的描述
采用VHDL进行设计描述主要包括设计规和程序编写两个步骤。
设计规划的主要任务是进行设计方式的选择以及是否进行模块划分。
通常,设计中采用的设计方式包括直接设计,自顶向下设计和自底向上的设计,一般采用自顶向下的设计方法。
模块划分是设计过程中一个非常重要的步骤。
模块划分的好坏将会直接影响到最终的电路设计,因此在这一步应该花费一定的时间,从而保证模块划分的最优化。
进行完成设计规划后,就可以按照模块划分来编写各个模块的VHDL程序,然后将各个模块的VHDL程序组合在一起,从而完成整个设计的VHDL描述。
(3)VHDL程序仿真
在设计流程中,综合,优化和装配(或者布局线)等后续操作往往需花费大量的时间。
一旦在后续工作中发现设计错误,往往需要修改VHDL描述,然后再重新进行综合、化和装配等后续操作,如此反反复复,将会浪费大量的时间和人力物力。
因此,设计人常常在完成编码后采用仿真器对VHDL设计描述进行仿真,这样可以提早发现设计错误,节省时间,缩短开发周期。
(4)综合、优化和装配
综合是指将较高层次的抽象描述转化到较低级别的抽象的一种方法,也就是将设计的描述转化成底层电路表示。
但是,通常综合的结果就一个网表或者就是一组逻辑方程。
优化是指将设计的时延缩短到最小和有效地利用资源。
几乎所有高级VHDL综合工具都可以使用约束条件对设计进行优化。
其中约束条件的设置主要包括时间约束和面积约束。
对设计描述进行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA HDB3 译码器 设计 软件设计
![提示](https://static.bdocx.com/images/bang_tan.gif)