ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:165.51KB ,
资源ID:6455726      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6455726.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于FPGA的HDB3码的编译码建模与设计.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于FPGA的HDB3码的编译码建模与设计.docx

1、基于FPGA的HDB3码的编译码建模与设计课程设计成果说明书题 目: 基于FPGA的HDB3码的编译码建模与设计 学生姓名: 叶荣欣 学 号: 学 院: 东海科学技术学院 班 级: 指导教师: 浙江海洋学院教务处2014年5月26日浙江海洋学院课程设计成果说明书规范要求课程设计说明书是课程设计主要成果之一,一般在20003000字。1说明书基本格式版面要求:打印时正文采用5号宋体,A4纸,页边距上、下、左、右均为2cm,行间距采用固定值20磅,页码底部居中。文中标题采用4号宋体加粗。2说明书结构及要求(1)封面(2)课程设计成绩评定表(3)任务书(指导教师下发)(4)摘要摘要要求对内容进行简短

2、的陈述,一般不超过300字。关键词应为反映主题内容的学术词汇,一般为3-5个,且应在摘要中出现。(5)目录要求层次清晰,给出标题及页次。最后一项为参考文献。(6)正文正文应按照目录所确定的顺序依次撰写,要求论述清楚、简练、通顺,插图清晰整洁。文中图、表及公式应规范地绘制和书写。(7)参考文献浙江海洋学院课程设计成绩评定表20132014学年 第2学期学院 东海科学技术学院 班级 C11电信 专业 电子信息工程 学生姓名(学 号) 王来有课程设计名 称基于FPGA的HDB3码的编译码建模与设计题 目基于FPGA的HDB3码的编译码建模与设计指导教师评语指导教师签名: 年 月 日答辩评语及成绩答辩

3、小组教师签名: 年 月 日浙江海洋学院课程设计任务书20 13 20 14 学年 第 2 学期学院 东海科学技术学院 班级 C11电信 专业 电子信息工程 学生姓名(学号)王来有课程名称基于FPGA的HDB3码的编译码建模与设计 设计题目基于FPGA的HDB3码的编译码建模与设计 完成期限自2014 年 5 月26日至 2014年 6 月 6 日 共 2 周设计依据本次设计所需知识1. HDB3码的编码、译码原理2. HDB3码编码器、译码器的VHDL编程思路和方法3. 设计工具MUX+PLUSII的使用4. 设计工具QuartusII的操作和使用设计要求及主要内容1. 熟悉通信原理中有关常用

4、码型的知识2. 完成设计工具MUX+PLUSII2和QuartusI9.0的安装3. 参考HDB3码编码器和译码器程序做时序仿真,并比较两种仿真结果的时延4. 采用其他方式对HDB3码编码器、译码器进行建模,并进行功能仿真,绘出仿真波形图5. 连接EDA/SOPC实验开发系统,并完成芯片选择、引脚锁定6. 最终实现编程下载到器件,并进行综合测试。7. 完成课程设计说明书的撰写。撰写格式要求按照船舶与海洋工程学院毕业设计文本规范。参考资料1汉泽西基于FPGA的HDB3编译码J电子科技报,2007 ,5(3):2526.2蒋青, 吕翊一种基于FPGA技术的HDB3译码器的设计J微电子学报,2007

5、,37(2):3334.3敖天勇,侯卫周,杨毅, 郭立俊基于CPLD的HDB3码编译码器设计J山西电子技术报,2007,3(2):2122.4解武,杨蕊,邵欣基于FPGA的HDB3编码一种简单实现J应用科技,2007,34(5):1112.5Ken MartinJ. Digital Integrated Circuit Design. Publishing House of Electronic Industry, 2002,4556. 指导教师签字日期摘要 本实验以FPGA为硬件平台,基于EDA工具QUARTUS为软件平台上对HDB3编、译码进行实现。由于在EDA的软件平台QUARTUS上不

6、能处理双极性的信号,因此对HDB3码的编、译码的实现分为:软件部分和硬件部分。其中软件部分是基于QUARTUS的平台上对输入的码元进行编码和译码,通过系统仿真,验证了HDB3码的编译码的正确性。关键字:QUARTUS HDB3 编、译码 目 录前 言 1第1章 绪论 2第2章 工具介绍 3第3章HDB3码编码器的建模与实现 53.1 HDB3码的编码规则 53.2基于VHDL的编码器的建模及实现 53.2.1插V模块的实现 63.2.2 插B模块的实现 73.3 编码中单/双极性转换的实现 83.4 HDB3码的编码器仿真波形 9第4章HDB3码译码器的建模与实现 114.1 HDB3码的译码

7、规则及建模 114.2译码中双/单极性的实现 114.3 HDB3译码器的部分程序: 114.4 HDB3码译码器的波形仿真 13第5章 总结 14参考文献 15前 言 FPGA具有编程灵活的特点,能够在不大改动系统平台的情况下具有改变系统特性和行为的灵活性,因而能够完成对实时信号的处理;同时FPGA作为一种新兴的高密度可编程逻辑器件,可以将编码与解码电路集成在一片FPGA芯片上,它的体积小,其结果大大提高了系统的集成度。HDB3码的具有其译码规则简单,便于时钟的提取,无直流分量,实现的电路也远比采用曼彻斯特编码方式简单等优点。 第1章 绪论数字基带信号的传输是数字通信系统的重要组成部分之一。

8、特别是HDB3(High Density Bipolar-3 Coding,三阶高密度双极性码)码的使用,其不但保持AMI(Alternation mark Inversion,交替反转码)码的优点外,更使连0串的个数减到至多0个的优点,而且还克服了AMI码的关于可能出现长连0串而造成提取定时信号困难的缺点。基于上述的特点HDB3码在通信传输领域应用很广泛,因此其作为CCITT推荐使用的码型之一。本实验设计是采用EDA工具实现HDB3码的仿真和校验,从而使系统的实现具有很大的灵活性。EDA(Electronics Design Automation,电子设计自动化)就是以大规模可编程逻辑器件为

9、设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件方式设计的电子系统到硬件系统的编辑逻辑、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统。 本实验设计的主要工作是HDB3码的编译码的建模与实现,对于HDB3编译码模块,一般以硬件的方式来实现的。但他具有产品更新慢、设计灵活性差、不可重配置及现场升级性能缺乏等缺点。 因此拟采用可编程逻辑电路来实现。可编程逻辑电路是EDA的一个重要技术基础,主要包括FPGA(

10、Field Programmable Gate Array,现场可编程逻辑门阵列)和CPLD(Complex Programmable Logic Devices,复杂可编程逻辑器件),它们具有丰富的可重配置逻辑资源,既包含有大量实现组合逻辑的资源;还包含有相当数量的触发器,因此采用EDA技术进行电子系统的设计有以下优点: 系统可现场编程,在线升级; 用软件的方式设计硬件; 整个系统可集成在一个芯片上,体积小、功耗低、可靠性高; 用软件方式设计的硬件系统的转换是由有关的开发软件自动完成,降低了系统设计的难度。 对于HDB3编译码器的实现,本毕业设计采用硬件描述语言VHDL来实现。用VHDL语言

11、设计分别设计一个完善的HDB3码编码器和译码器。本设计是从HDB3原理出发,采用“从顶到底(TOP-DOWN)”设计方法,以EDA工具QUARTUS5.1为软件平台,输入HDB3的代码并对其进行编译、综合和仿真,经过功能测试、验证,最终实现基于FPGA的HDB3码的编码和译码功能。第2章 工具介绍2.1 FPGA的系统介绍FPGA是20世纪80年代中期,美国Altera公司推出一种现场可编程门阵列,其结构主要分为三部分:可编程逻辑单元,可编程输入输出单元和可编程连线部分。FPGA器件采用逻辑单元阵列结构和静态随机存取存储器工艺,设计灵活,集成度高,可利用计算机辅助设计,绘出实现用户逻辑原理图、

12、编辑布尔方程或用硬件描述语言等方式设计输入;然后经一系列转换程序、自动布局布线、模拟仿真的过程;最后生成配置FPGA器件的数据文件,对FPGA器件初始化。这样实现了满足用户要求的专用集成电路,真正达到了用户自行设计、自行研制和自行生产集成电路的目的。概括来说,FPGA器件具有下列优点:高密度、高效率、系列化、标准化、小型化、多功能、低功耗、低成本、设计灵活方便,可无限次反复编程,并可现场模拟调试验证。使得使用FPGA器件,一般可在几天到几周内完成一个电子系统的设计和制作,可以缩短制周期,达到快速上市和进一步降低成本要求。基于上述的优点,本毕业设计采用FPGA芯片作为平台,这样可以把整个系统下载

13、到一块芯片之中,实现了所谓的片上系统,从而大大缩小了体积,便于工程人员的管理和屏蔽外界干扰。2.2 VHDL语言和QUARTUS2.2.1VHDL语言 常用的硬件描述性语言有VHDL、Verilog和ABEL语言。VHDL语言起源于美国国防部的VHSIC,VHDL是一种高级描述语言,适用于行为级和RTL级的描述相对与Verilog语言和ABEL语言这些较低一级的适合描述门级电路的描述性语言而言,其具有以下的优点:设计方法灵活、支持广泛 VHDL语言可以支持自顶至下(Top-Down)和基于库(Library-Based)的设计方法,而且还支持同步电路、异步电路、FPGA以及其他随机电路的设计。

14、其范围之广是其它方法所不能比拟的。目前大多数EDA工具几乎都支持VHDL语言。这给VHDL语言进一步推广和应用创造了良好的环境。系统硬件描述能力强 VHDL语言具有多层次描述系统硬件功能的能力,可以从系统的框图直到门级电路。另外,高层次的行为描述可以与低层次的RTL描述和结构描述混合使用。其他HDL语言如UDL/I、Verilog等对系统级的功能描述能力较弱。VHDL语言描述与工艺不发生关系 在用VHDL语言设计系统硬件时,没有嵌入工艺信息。采用VHDL语言的设计,当门级或门级以上层次的描述通过仿真检验以后,再用相应的工具将设计映射成不同的工艺(如MOS, CMOS等)。这样,在工艺变更时,只

15、要改变相应的映射工具就行了。由此可见,修改电路和改变工艺之间的相关性较小。VHDL语言标准、规范,易于共享和复用 由于VHDL语言已成为一种IEEE的工业标准,这样,设计成果便于复用和交流,反过来也更进一步推动VHDL语言的推广及完善。基于上述的特点,可知VHDL语言可读性好,又能被计算机识别。VHDL语言中设计实体、程序包、设计库,为设计人员重复利用已有的设计提供了诸多技术手段。可重复利用他人的IP(Intelligence Property)模块和软核(Soft Core)也是VHDL的另一特色许多设计不必每次都从头再来,只要在更高层次上把IP模块组合起来,就能达到事半功倍的效果。这样,设

16、计人员自行开发的IP模块在集成电路设计中占有重要的地位。因此本毕业设计采用VHDL语言设计一个完善的HDB3码编、译码器。 2.2.2 QUARTUSQUARTUS软件是美国Altera公司为SOPC(System on a Programmable Chip,系统级可编程芯片) 提供最全面的设计平台。它具有比起其他的编译软件,具有以下的优点:开放的界面QUARTUS II软件可与其它EDA厂家的设计输入、综合、验证工具相连接。设计人员可使用ALTERA或标准EDA设计输入工具建立电路设计,使用QUARTUSII编译器(Compiler)对ALTERA的器件进行编译,然后使用ALTERA或其他

17、标准EDA验证工具进行验证。目前,QUARTUS II支持与Cadence、Exemplarlogic、Mentor Graphics、 Synopsys、Synplicity、Viewlogic等公司的EDA工具接口。与结构无关QUARTUS II系统的核心编译器(Compiler)支持ALTERA公司的FLEX10K,FLEX8000, FLEX6000, MAX9000, MAX7000, MAX5000和Classic等可编程逻辑器件系列,提供了业界,除了MAXPLUS II以外惟一真正与结构无关的可编程逻辑设计环境。QUARTUS的编译器还提供了强大的逻辑综合与优化功能,使设计人员能

18、比较容易地将其设计集成到可编程逻辑器件中。 多平台QUARTUS II软件可在多种PC机和工作站的操作系统中运行。完全集成化QUARTUS II的设计输入、处理、验证、器件编程等功能全部集成在统一的开发环境下,可以使用户进行动态调试,加快开发进程。 丰富的设计库QUARTUS II提供丰富的库单元供设计者使用,其中包括74系列的全部器件和多种特殊的逻辑宏功能(Macro-Function)以及新型的参数化兆功能(Mega-Function) 。接受高级描述语言QUARTUS II接受多种硬件描述语言,包括VHDL、AHDL、C、C+等语言。良好的人机界面QUARTUS具有比MAXPLUS更加人

19、性化的人机界面,方便工程人员的操作。基于上述的特点,本文采用QUARTUS软件对HDB3编、译码的仿真验证。第3章HDB3码编码器的建模与实现 3.1 HDB3码的编码规则在现实的通信系统中,为了满足基带传输的要求,单极性脉冲序列必须经过适当的基带编码,以保证传输码型中无直流分量,有一定的自检能力和适应不同信源的统计特性的能力。在基带传输中,常用的码型有AMI码、HDB3码、4B/3T码、CMI码、以及双相码等。其中,AMI码是将输入单极性波形的所有正脉冲变为适合于在信道传输的正负极性交替的脉冲,而HDB3码则是在AMI码基础上改进的一种双极性归零码,它除具有AMI码功率谱中无直流分量,可进行

20、差错自检等优点外,还克服了AMI码当信息中出现连“0” 码时定时提取困难的缺点,同时HDB3码频谱能量主要集中在基波频率以下,占用频带较窄,因此被广泛用作PCM(Pulse Code Modulation,脉冲编码调制)线路传输码型,因此要了解HDB3码的编码规则,首先要知道AMI码的构成规则,AMI码就是把单极性脉冲序列中相邻的“1”码(即正脉冲)变为极性交替的正、负脉冲。将“0”码保持不变,把“1”码变为+1、-1交替的脉冲。如:信息序列:10011010111100001AMI码:+100-1+10-10+1-1+1-10000+1HDB3码是一种AMI码的改进型,它的编码过程为:没有4

21、个或4个连“0”串时,HDB3编码规律与AMI码相同,即“1”码变为“+1”、 “-1”交替脉冲。当代码序列中出现4个或4个以上连“0”串时,则将每4个连“0”小段即“0000”的第4个0变换成与前一非“0”符号(+1或-1)同极性的符号,用破坏符号V表示(即+1记为+V,-1记为-V)。 为了使附加V符号后的序列不破坏“极性交替反转”造成的无直流特性,还必须保证相邻V符号也应极性交替。这一点,当相邻V符号之间有奇数个非0符号时,则是能得到保证,当有偶数个非0符号时,则就得不到保证,这时再将该小段的第一个0变换成+B或-B,B符号的极性与前一非0符号的极性相反,并让后面的非0符号从V符号开始再

22、交替变换。3.2基于VHDL的编码器的建模及实现对信号进行HDB3码编码时,先依据HDB3码的编码规则进行添加破坏符号“V”然后进行添加符号“B”操作,最后才进行单极性信号变成双极性信号的转换。HDB3码的编码模型如图:图3.1如上图:整个HDB3码的编码器包括3个功能部分:添加破坏符号“V”、添加符号“B”和单极性码转变成双极性码。信号处理的顺序不能像编码规则那样:首先把代码串变换成为AMI码,完成添加破坏符号“V”、添加符号“B”工作之后,其后的“+1”和“-1”的极性还要依据编码规则的规定变换。这样做需要大量的寄存器,同时电路结构也变得复杂。因此本设计在此处把信号处理的顺序变换一下:首先

23、完成添加破坏符号“V”工作,接着执行添加符号“B”功能,最后实现单极性变双极性的信号输出。这样做的好处是输入进来的信号和添加破坏符号“V”、添加符号“B”功能电路中处理的信号都是单极性信号,且需要的寄存器的数目可以很少。另外,如何准备识别电路中的“1”、“V”和“B”,这也是一个难点,因为“V”和“B”符号是人为标识的符号,但在电路中最终的表示形式还是逻辑电平“1”,同时QUARTUS软件也不能像HDB3码的编码规则那样把代码串变换成AMI码,这是因为QUARTUS软件不能处理带负号的信号,因此在软件中本设计还是利用双相码来表示。双相码的编码规则如下:对每个二进制代码分别利用两个不同相位的二进

24、制代码去取代。例如:信息序列:110010双相码: 010*3.2.1插V模块的实现添加破坏符号“V”模块的功能实际上就是对消息代码里的四个连0串的检测,即当出现四个连0串的时候,把第四个“0”变换成符号“V”(“V”可以是逻辑电平“1”),而在其他的情况下,则保持消息代码的原样输出,同时为了区别代码“1”、 “V”和“0”,在添加破坏符号“V”时,用“11”标识符号“V”,用“01”标识符号“1”,用“00”标识符号“0”。因此,添加破坏符号“V”的设计思想如下:首先判断输入的代码是什么,如果输入的符号是“0”码,则接着判断这是第几个“0”码,如果是第四个“0”码,则把这个“0”码变换成“V

25、”码。在其他的情况下,让原码照常输出。添加破坏符号“V”功能的关键代码:add_v:process(clk,clr) -插入V符号进程 begin if(rising_edge(clk) then if(clr=1) then codeoutv=00; -用00代表0 count0 codeoutv=01; -用01代表1 count0 if(count0=3)then -当有4个连续0时插入V codeoutv=11; -用11代表V count0=0; else count0=count0+1; codeoutv codeoutv=00; count0=count0; end case;

26、end if; end if; end process add_v;3.2.2 插B模块的实现插“B”模块的功能是为了保证附加“V”符号后的序列不破坏“极性交替反转”造成的无直流特性,即当相邻“V”符号之间有偶数个非0符号的时候,把后一小段的第一个“0”变换成一个非破坏符号“B”符号。添加符号“B”模块的部分程序:s0(0)=codeoutv(0); s1(0)=codeoutv(1); ds11: dff port map(s1(0),clk,s1(1);-调用库中的D触发器来实现延迟作用 ds01: dff port map(s0(0),clk,s0(1); ds12: dff port

27、map(s1(1),clk,s1(2); ds02: dff port map(s0(1),clk,s0(2); ds13: dff port map(s1(2),clk,s1(3); ds03: dff port map(s0(2),clk,s0(3); bclk: clkb=not clk; add_b:process(clkb) -插入符号B进程 begin if(rising_edge(clkb) then if(codeoutv=11) then if(firstv=0) then count1=0; firstv=1; s1(4)=s1(3); s0(4)=s0(3); else

28、if(count1=0) then -用10代表B s1(4)=1; s0(4)=0; count1=0; else s1(4)=s1(3); s0(4)=s0(3); count1=0; end if; end if; elsif(codeoutv=01) then count1=count1+1; s1(4)=s1(3); s0(4)=s0(3); else s1(4)=s1(3); s0(4)=s0(3); count1=count1; end if; end if; end process add_b; codeoutb=s1(4)&s0(4);3.3 编码中单/双极性转换的实现根据H

29、DB3码的编码规则,可知 “V”的极性是正负交替变换的,而余下的“1”和“B”本毕业设计把其看成为一体且是正负交替变换的,同时满足“V”的极性与前面的非零码极性一致。由此本毕业设计就把“1”和“B”看成一组,而“V”单独作为一组来做正负交替变换。同时,从3.2.2节中的第2小节的代码中可知,“1”、 “V”,“B”已经分别用双相码“01”,“11”,“10”标识,所以对“1”,“V”, “B”的正负交替变换很容易实现。实现单双极性变换控制功能程序:output:process(clk) -单极性变双极性进程 begin if(rising_edge(clk) then if(codeoutb=

30、01)or(codeoutb=10)then -1 or B if(flag1b=1) then codeout=11; flag1b=0; else codeout=01; flag1b=1; end if; elsif(codeoutb=11) then -V if(flag1b=1) then codeout=01; else codeout=11; end if; else codeout=00; flag1b=flag1b; end if; end if;3.4 HDB3码的编码器仿真波形 输入全为1时的编码结果:图3.2输出的结果为:110111*111011101输入全为0时的编码结果:图3.3 输出的结果为0111001101000111001101000111001101000111输入为11001111000000图3.4

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

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