eda课程设计-基于vhdl的hdb3编译码器的设计内容摘要:

TOPDOWN 的设计思想简介 自上而下的设计方法,就是从 系统总体要求出发,自上而下地逐步将设计美容细化,最后完成系统硬件的整体设计,其从总体行为设计开始到最终逻辑综合,形成网络表为止。 在利用 HDL 的硬件设计方法中,设计者将自上而下分为三个层次对系统硬件进行设计。 ( 1)第一层次是行为描述。 所谓行为描述,实质上就是对整个系统的数字模型的描述。 一般来说,对系统进行行为描述的目的是试图在系统设计的初始阶段,通过对系统行为描述的仿真来发现设计存在的问题,并不真正考虑其实际的操作和算法用什么方法来实现。 当行为描述程序仿真通过之后,说明模型是正确的,在此基础上再改写该 程序,使其语句表达式易于用逻辑元件来实现,这是第二层所要做的工作。 ( 2)第二层次是 RLT 方式描述。 这一层次称为寄存器传输描述,有称数据流描述。 如前所述,用行为描述的系统结构的程序,要想得到硬件的实现,必须将行为方式描述的 VHDL语言程序改写为 RLT方式描述的 VHDL语言程序。 也就是说,采用 RLT 描述,才能导出系统的逻辑表达式,才能进行逻辑综合。 在完成编写RLT 方式的描述程序以后,再用仿真工具进行仿真,如果通过这一步仿真,就可基于 VHDL语言的 HDB3码编 /解码器设计 9 规格设计 行为级描述 RLT及描述 逻辑综合 门级仿真、定时检查 输出门级网表 以利用逻辑综合工具进行综合。 ( 3)第三层次是逻辑综合。 逻辑综合这一阶段是利 用逻辑综合工具,将 RTL方式描述的程序转换成用基本逻辑元件表示的文件。 此时,如果需要,可以将逻辑综合结果,以逻辑原理图方式输出。 此后对逻辑综合结果在门电路级上再进行仿真,并检查定时关系。 如果一切正常,那么,系统的硬件设计就基本有逻辑综合工具产生门级网络表后,在最终完成硬件设计时, 还可以有两种选择,第一种是由自动布线程序将网络表转换成相应的 ASIC 芯片的制造工艺,做出 ASIC 芯片。 第二种是将网 络表转换成 FPGA 的变成码点,利用 FPGA 完成硬件电路设计。 图 12 自上而下系统硬件的过程 基于 VHDL语言的 HDB3码编 /解码器设计 10 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 码的特点: ( 1) 无直流成分且低频成分很小,因而在信道传输中 不易造成信号失真。 ( 2) 编码电路简单,便于观察误码状况。 ( 3) 由于它可能出现长的连 0 串,因而不利于接受端的定时信号的提取。 HDB3 码 这种码型在数字通信中用得很多, HDB3 码是 AMI 码的改进型,称为三阶高密度双极性码。 它克服了 AMI 码的长连 0 传现象。 NRZ, AMI, HDB3码之间的对应关系 假设信息码为 0000 0110 0001 0000,对应的 NRZ 码、 AMI 码, HDB3 码如图21 所示。 基于 VHDL语言的 HDB3码编 /解码器设计 11 图 21 NRZ , AMI, HDB3 码型图 分析表现, AMI 码及 HDB3 码的功率谱不含有离散谱 fS成份( fS= 1/TS,等于位同步信号频率)。 在通信的终端需将他们译码为 NRZ 码才能送给数字终端机或数 /模转换电路。 在做译码时必须提供位同步信号。 工程上,一般将 AMI 或 HDB3码数字信号进行整流处理,得到占空比为 的单极性归零码( RZ|τ= )。 由于整流后的 AMI, HDB3 码中含有离散谱 fS,故可用一选频网络得到频率为 fS的正弦波,经整形、限幅、放大处理后即可得 到位同步信号。 HDB3 码的编 /译码规则 HDB3 码的编码规则: ( 1) 将消息代码变换成 AMI 码; ( 2) 检查 AMI 码中的连 0 情况,当无 4 个以上的连 0 传时,则保持 AMI 的形式不变;若出现 4 个或 4 个以上连 0 时,则将 1 后的第 4 个 0 变为与前一非 0 符号( +1 或 1)同极性的符号,用 V表示( +1 记为 +V, 1 记为 V ( 3) 检查相邻 V符号间的非 0 符号的个数是否为偶数,若为偶数,则再将当前的 V符号的前一非 0 符号后的第 1 个 0 变为 +B 或 B 符号,且 B 的极性与前一非 0 符号的极性相反,并使后面的非 0 符号从 V符号开始再交替变化。 举例 如下: 代码 1 0 1 0 1 1 0 0 0 0 0 1 1 0 0 0 0 1 HDB3 码 +1 0 1 0 +1 1 0 0 0 1 0 +1 1 +1 0 0 +1 1 V、 B V +B +V 信息代码 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 AMI 波形 AMI 代码 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 NRZ 波形 HDB3 代码 B 0 0 V 0 1 1 B 0 0 V 1 0 0 0 V HDB3波形 基于 VHDL语言的 HDB3码编 /解码器设计 12 HDB3 码的特点如下: ( 1) 基带信号无直流成分,且只有很小的低频成分; ( 2) 连 0 串符号最多只有 3 个,利于定时信息的提取; ( 3) 不受信源统计特性的影响。 HDB3 码的特点如下: ( 1) 基带信号无直流成分,且只有很小的低频成分; ( 2) 连 0 串符号最多只有 3 个,利于定时信息的提取; ( 3) 不受信源统计特性的影响。 HDB3 码的译码规则 : HDB3 码的译码是编码的逆过程,其译码相对于编码较简单。 从其编码原理可知,每一个破坏符号 V总是与前一非 0 符号同极性,因此,从收到的 HDB3码序列中,容易识别 V符号,同时也肯定 V 符号及其前面的 3 个符号必是连 0符号,于是可恢复成 4 个连 0 码,然后再将所有的 1 变成 +1 后变得到原消息代码。 举例如下: HDB3 码 +1 0 1 0 +1 1 0 0 0 1 0 +1 1 +1 0 0 +1 1 V符号 V +V 译码 1 0 1 0 1 1 0 0 0 0 0 1 1 0 0 0 0 1 基于 VHDL语言的 HDB3码编 /解码器设计 13 3 用 VHDL 语言设计 HDB3 编码器 设计任务与要求 将一串行输入码流编为 HDB3 码输出(编码部分);将一串行输 入的 HDB3 码解码后串行输出 (解码部分 )。 HDB3 编码器实现的基本原理 从编码规则来分析,这个设计的难点之一是如何判决是否应该插“ B”,因为这涉及到由现在事件的状态决定过去事件状态的问题。 按照实时信号处理的理论,这是没办法实现的。 但在实际的电路中,可以考虑用寄存器的方法,首先把信码寄存在寄存器里,同时设置一个计数器计数两个“ V”之间“ 1”的个数,经过 4 个码元时间后,由一个判偶电路来给寄存器发送是否插“ B”的判决信号,从而实现插“ B”功能。 不过,信号处理的顺序不能像编码规则那样:首先把代码串变换成 为 AMI 码,完成插“ V”、插“ B”工作之后,其后的“ +1”和“ 1”的极性还要依据编码规则的规定变换。 这样做需要大量的寄存器,同时电路结构也变的复杂。 若把信号处理的顺序变换一下:首先完成插“ V”工作,接着执行插“ B”功能。 最后实现单极性变双极性的信号输出。 这样做的好处是:输入进来的信号和插“ V”、插“ B”功能电路中处理的信号都是单极性信号,且需要的寄存器的数目可以少很多。 另外,如何准确识别电路中的“ 1”、“ V”和“ B”。 因为“ V”和“ B”符号是人为标识的符号,但在电路中最终的表现形式还是逻辑电平“ 1”。 解 决的方法是利用了双相码,将其用二进制码去取代。 例如, 代码: 1 1 0 0 1 0 双相码 10 10 01 01 10 01 这样就可以识别电路中的“ 1”、“ V”、“ B”。 也可以人为地加入一个标识符(其最终目的也是选择输出“ 1”的极性)。 控制一个选择开关,使输出“ 1”的极性能按照编码规则进行变化。 HDB3 编码器的设计过程 本设计的思想并不像前面 HDB3 编码原理介绍的那样首先把消息代码变换成为 AMI 码,然后进行 V 符号和 B 符号的变换,而是在消息代码的基础上,依据HDB3 编码规则进 行插入“ V”符号和插入“ B”符号的操作,最后完成单极性信号变成双极性信号的变换。 基于 VHDL语言的 HDB3码编 /解码器设计 14。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。