基于fpga的hdb3编码实现---毕业论文内容摘要:
)直到门级电路逐层进行描述。 另外,高层次的行为描述可以与底层次的寄存器描述和结构描述混合使用。 采用 VHDL 语言设计硬件电路时,当门级或门级以上层次的描述通过仿真检验以后,再用相应的工具将设计映射成不同的工艺。 在工艺更新时无须 原设计程序,只需改变相应的映射工具。 由此可见,修改电路和修改工艺相互之间不会产生影响。 作为 IEEE 标准的 VHDL 语言,语法严格,设计成果便于复用和交流。 一个大规模的数字系统设计不可能从门级电路开始逐步进行设计,而是一些模块电路的有机叠加。 这些模块电路可以预先设计或者使用以前设计中的存档模块。 这些模块电路可以采用 VHDL 语言进行描述且存放于库中,便于在以后设计中复用。 这样可以减小数字系统设计的工作量,缩短开发周期 5 FPGA 的设计流程 FPGA 的设计流程就是利用 EDA 开发软件 和编程工具对 FPGA 芯片进行开发的过程。 FPGA 的开发流程一般如图 1所示,包括电路设计、设计输入、功能仿真、综合优化、综合后仿真、实现、布线后仿真等主要步骤。 图 1 FPGA 开发的一般流程 1. 电路功能设计 在系统设计之前,首先要进行的是方案论证、系统设计和 FPGA 芯片选择等准备工作。 系统工程师根据任务要求,如系统的指标和复杂度,对工作速度和芯片本身的各种资源、成本等方面进行权衡,选择合理的设计方案和合适的器件类型。 一般都采用自顶向下的设计方法,把系统分成若干个基本单元,然后再把每个基本单元划 分为下一层次的基本单元,一直这样做下去,直到可以直接使用 EDA 元件库为止。 2. 设计输入 设计输入是将所设计的系统或电路以开发软件要求的某种形式表示出来,并输入给EDA 工具的过程。 常用的方法有硬件描述语言( HDL)和原理图输入方法等。 原理图输入方式是一种最直接的描述方式,在可编程芯片发展的早期应用比较广泛,它将所需的器件从元件库中调出来,画出原理图。 这种方法虽然直观并易于仿真,但效率很低,且不易维 6 护,不利于模块构造和重用。 更主要的缺点是可移植性差,当芯片升级后,所有的原理图都需要作一定的改动。 目前,在实际 开发中应用最广的就是 HDL 语言输入法,利用文本描述设计,可以分为普通 HDL 和行为 HDL。 普通 HDL 有 ABEL、 CUR 等,支持逻辑方程、真值表和状态机等表达方式,主要用于简单的小型设计。 而在中大型工程中,主要使用行为 HDL,其主流语言是 Verilog HDL 和 VHDL。 这两种语言都是美国电气与电子工程师协会( IEEE)的标准,其共同的突出特点有:语言与芯片工艺无关,利于自顶向下设计,便于模块的划分与移植,可移植性好,具有很强的逻辑描述和仿真功能,而且输入效率很高。 3. 功能仿真 功能仿真,也称为前仿真,是在 编译之前对用户所设计的电路进行逻辑功能验证,此时的仿真没有延迟信息,仅对初步的功能进行检测。 仿真前,要先利用波形编辑器和 HDL等建立波形文件和测试向量(即将所关心的输入信号组合成序列),仿真结果将会生成报告文件和输出信号波形,从中便可以观察各个节点信号的变化。 如果发现错误,则返回设计修改逻辑设计。 常用的工具有 Model Tech 公司的 ModelSim、 Sysnopsys 公司的 VCS 和Cadence 公司的 NCVerilog 以及 NCVHDL 等软件。 虽然功能仿真不是 FPGA 开发过程中的必需步骤,但却是系统设计 中最关键的一步。 4. 综合 所谓综合就是将较高级抽象层次的描述转化成较低层次的描述。 综合优化根据目标与要 求 优化所生成的逻辑连接,使层次设计平面化,供 FPGA 布局布线软件进行实现。 就目前的层次来看,综合优化( Synthesis)是指将设计输入编译成由与门、或门、非门、 RAM、触发器等基本逻辑单元组成的逻辑连接网表,而并非真实的门级电路。 真实具体的门级电路需要利用 FPGA 制造商的布局布线功能,根据综合后生成的标准门级结构网表来产生。 为了能转换成标准的门级结构网表, HDL 程序的编写必须符合特定综合器所要 求的风格。 由于门级结构、 RTL 级的 HDL 程序的综合是很成熟的技术,所有的综合器都可以支持到这一级别的综合。 常用的综合工具有 Synplicity 公司的 Synplify/Synplify Pro 软件以及各个 FPGA 厂家自己推出的综合开发工具。 5. 综合后仿真 综合后仿真检查综合结果是否和原设计一致。 在仿真时,把综合生成的标准延时文件 7 反标注到综合仿真模型中去,可估计门延时带来的影响。 但这一步骤不能估计线延时,因此和布线后的实际情况还有一定的差距,并不十分准确。 目前的综合工具较为成熟,对于一般的设计可以省 略这一步,但如果在布局布线后发现电路结构和设计意图不符,则需要回溯到综合后仿真来确认问题之所在。 在功能仿真中介绍的软件工具一般都支持综合后仿真。 6. 实现与布局布线 实现是将综合生成的逻辑网表配置到具体的 FPGA 芯片上,布局布线是其中最重要的过程。 布局将逻辑网表中的硬件原语和底层单元合理地配置到芯片内部的固有硬件结构上,并且往往需要在速度最优和面积最优之间作出选择。 布线根据布局的拓扑结构,利用芯片内部的各种连线资源,合理正确地连接各个元件。 目前, FPGA 的结构非常复杂,特别是在有时序约束条件时,需要利用时 序驱动的引擎进行布局布线。 布线结束后,软件工具会自动生成报告,提供有关设计中各部分资源的使用情况。 由于只有 FPGA 芯片生产商对芯片结构最为了解,所以布局布线必须选择芯片开发商提供的工具。 7. 时序仿真与验证 时序仿真,也称为后仿真,是指将布局布线的延时信息反标注到设计网表中来检测有无 时序违规(即不满足时序约束条件或器件固有的时序规则,如建立时间、保持时间等)现象。 时序仿真包含的延迟信息最全,也最精确,能较好地反映芯片的实际工作情况。 由于不同芯片的内部延时不一样,不同的布局布线方案也给延时带来不同的影响。 因此在布局布线后,通过对系统和各个模块进行时序仿真,分析其时序关系,估计系统性能,以及检查和消除竞争冒险是非常有必要的。 在功能仿真中介绍的软件工具一般都支持综合后仿真。 Quartus II 概述 Quartus II 是 Altera 公司 的综合性 PLD 开发 软件 ,支持原理图、 VHDL、 VerilogHDL 以及 AHDL( Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整 PLD 设计流程。 Quartus II 可以在XP、 Linux 以及 Unix 上使用,除了可以使用 Tcl 脚本 完成设计流程外,提供了完善的用户图形界面设计方式。 具有运行速度快,界面统一,功能集中,易学易用等特点。 Quartus II支持 Altera 的 IP 核,包含了 LPM/MegaFunction 宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。 对第三方 EDA 工具的良好支持也使用 8 户可以在设计流程的各个阶段使用熟悉的第三方 EDA 工具。 此外, Quartus II 通过和 DSP Builder 工具与 Matlab/Simulink 相结合,可以方便地实现各种 DSP 应用系统;支持 Altera的片上可编程系统( SOPC)开发,集系统级设计、 嵌入式软件开发 、可编程逻辑设计于一体,是一种综合性的开发平台。 Maxplus II 作为 Altera 的上一代 PLD 设计软件,由于其出色的易用性而得到了广泛的应用。 目前 Altera 已经停止了对 Maxplus II 的更新支持,Quartus II 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。 Altera 在 Quartus II 中包含了许多诸如 SignalTap II、 Chip Editor 和 RTL Viewer 的设计辅助工具,集成了 SOPC和 HardCopy 设计流程,并且继承了 Maxplus II 友好的图形界面及简便的使用方法。 Altera Quartus II 作为一种可编程逻辑的设计环境 , 由于其强大的设计能力和直观易用的接口,越来越受到 数字系统设计 者的欢迎。 9 2 HDB3 码介绍 数字基带信号 数字基带信号的传输是数字通信系统的重要组成部分之一。 在数字通信中,有些场合可不经过载波调制和解调过程,而对基带信号进行直接 传输。 为使基带信号能适合在基带信道中传输,通常要经过基带信号变化,这种变化过程事实上就是编码过程。 于是,出现了各种各样常用码型。 不同码型有不同的特点和不同的用途。 作为传输用的基带信号归纳起来有如下要求: 1 希望将原始信息符号编制成适合与传输用的码型; 2 对所选码型的电波形,希望它适宜在信道中传输。 可进行基带传输的码型较多。 AMI 码 AMI 码称为传号交替反转码。 其编码规则为代码中的 0 仍为传输码 0,而把代码中 1 交替地变化为传输码的 +11+11,、。 举例如下。 消息代码: 0 1 1 1 0 0 1 0 、 AMI 码: 0 +1 1 +1 0 0 1 0 、或 0 1 +1 1 0 0 +1 0 、 AMI 码的特点: 无直流成分且低频成分很小,因而在信道传输中不易造成信号失真。 编码电路简单,便于观察误码状况。 由于它可能出现长的连 0 串,因而不利于接受端的定时信号的提取。 HDB3 码 这种码型在数字通信中用得很多, HDB3 码是 AMI 码的改进型,称 为三阶高密度双极性码。 它克服了 AMI 码的长连 0 传现象。 NRZ, AMI, HDB3 码之间的对应关系 假设信息码为 0000 0110 0001 0000,对应的 NRZ 码、 AMI 码, HDB3 码如图 21 所示。 10 图 21 NRZ , AMI, HDB3 码型图 分析表现, AMI 码及 HDB3 码的功率谱不含有离散谱 fS 成份( fS= 1/TS,等于位同步信号频率)。 在通信的终端需将他们译码为 NRZ 码才能送给数字终端机 或数 /模转换电路。 在做译码时必须提供位同步信号。 工程上,一般将 AMI 或 HDB3 码数字信号进行整流处理,得到占空比为 的单极性归零码( RZ|τ= )。 由于整流后的 AMI, HDB3 码中含有离散谱 fS,故可用一选频网络得到频率为 fS 的正弦波,经整形、限幅、放大处理后即可得到位同步信号。 HDB3 码的编码规则 HDB3 码的编码规则: 将消息代码变换成 AMI 码; 检查 AMI 码中的连 0 情况,当无 4 个以上的连 0 传时,则保持 AMI 的形式不变;若出现4 个或 4 个以上连 0 时,则将 1 后的第 4 个 0 变为 与前一非 0 符号( +1 或 1)同极性的符号,用 V 表示( +1 记为 +V, 1 记为。基于fpga的hdb3编码实现---毕业论文
相关推荐
data_high_3 状态,将数据线拉高,等待鼠标返回应答信号。 若 PS/2 时钟信号下降沿来临时,数据线仍未变为高电平,则进入m2_error_no_ack 状态,此时握手失败,系统将保持 m2_error_no_ack 状态直到下一次复位,否则进入 m2_await_response 状态接收应答字,接收完成进入 m2_verify 数据校验,然后进入 m2_use 状态,锁存输出数据
辨率较差。 FPGA器件通过 频率合成的方法做成的信号发生器。 由于合成信号发生器具有较高的频率稳定度,很容易实现数字显示频率,因此,频率分辨率高和频率的置定重复性好,以及能方便实现频率的程序控制是合成信号发生 8 器的重要特点。 由此可见通过设计频率合成器 是整个信号发生器的最为关键的部分。 根据上文提到的课题要求,特列出以下论证方案,为了显出该设计的优
988 年, Milstd454 规定所有为美国国防部设计的 ASIC 产品必须采用 VHDL 来进行描述。 1993 年,经过几年的修订 和扩展,IEEE 公布了 VHDL 的新版本 IEEE1164。 1996 年, 成为 VHDL 的综合标准。 1995 年,我国国家技术监督局制定的《 CAD 通用技术规范》推荐 VHDL 作为我国电子设计自动化硬件描述语言的国家标准。 自此, VHDL
中的 t个或更少个错误的任意组合,称之为能纠正t个错误的二元本原 BCH码。 BCH码是循环码的一类,因此,它具有分组码、循环码的一切性质。 但它明确界定了码长,校验位数目,码的最小距离之间的关系。 可以看出它的性能较好,在同样的编码效率下,纠错能力均较强,故可在无线通信系统中获得广泛应用。 根据 BCH码的定义,若 a是 ( )中的本原元,又码长为 ,能纠正 t个错误的二元
when 0111 =b:=0001110000010100。 when 1000 =b:=0001101000011110。 when 1001 =b:=0010100111110000。 when 1010 =b:=0010100000010000。 when 1011 =b:=0100100000010000。 when 1100 =b:=1000100000010000。 when
器件通过硬件电路来实现所有的算法 ,提高 了 系统的可靠保密性。 FPGA 数 万 次的 重写 ,与 基于单片机的电子密码锁 相比, FPGA 构成系统设备 的可靠安全性得到提高 ,而且 更新 和升级 更加方便。 经过 设计 了解 FPGA 系统设计的 构想 ,并 学习 FPGA 设计 所用到的 软件 ,以及 Verilog 硬件语言的使用 ,掌握 电子密码 的设计步骤 ,增强 专业知识 ,