基于FP GA的HDB3码的编码器与译码器设计(软件设计)
用这种方式来定义。% 在结构范畴内, VHDL 使用户能描述逻辑的和物理的分割与联结, 用接口和器件说明、 器件例子说明及配置体语句, 从结构级到电路级的所有级都可以进行描述。& 在物理范畴内, 当不具有指定的物理类型的描述, 某种 VHDL 特性( 特别的属性)能描述诸如方位、 时间、 功率、 范围等物理信息。当然, VHDL 也有一些不足之处, 如; 缺少 WAIT 语句, 不能等待时序, 不能处理动 态结构, 但 VHDL 的许多优点给硬件设计者 带来了方便, 可为广大用户所接受。 1.4.3 VHDL的优点
VHDL迅速普及主要因为的是他的强大的自身功能和特点,主要优点如下:
(1)覆盖面积广,有强大的系统硬件描述能力
VHDL可以覆盖行为描述、寄存器传输级描述、门描述、电路描述和物理描参数描述(包括延时、功耗、频率、几何尺寸等)。
VHDL还具有丰富的数据类型。即可以支持预定义的数据类型,也可以自己定义数据类型。这样便给硬件描述带来了较大的自由度,使设计人员能够方便地使用VHDL创建高层次的系统模型。 (2)可读性好、易于修改
在硬件电路设计过程中,主要的设计文件是用VHDL编写的源代码,因为VHDL易读和结构模块化,所以易于修改设计。
(3)独立于器件的设计,与工艺无关
用VHDL进行硬件电路设计时,并不需要首先考虑选择完成设计的器件,也就是说,VHDL并没有嵌入具体的技术和工艺约定,设计人员可以集中精力进行设计的优化,不需要考虑其他问题。当一个设计描述完成以后,可以用多种不同的器件结构来实现其功能。
(4)易于移植和设计资源共享
由于VHDL是一种国际标准化的硬件描述语言,对于一个设计描述,他可以移植到符合相同标准的任意系统或平台上运行。
对于一些较大的通用性硬件电路,目前已经有专门的IP核出售,因此,能实现设计资源的有偿使用,可大大缩短设计周期,加快设计产品的上是速度, 1.4.4 VHDL设计硬件电路的方法
VHDL是IEEE所确认的一种标准化硬件描述语言,它在设计描述的过程中有一定的
7
基于FP GA的HDB3码的编码器与译码器设计(软件设计)
设计流程可以遵循。一般来讲,VHDL的设计流程主要包括以下几个步骤: (1)设计规范的定义
采用VHDL进行设计的描述之前,首要对电子系统的设计目的和设计要求有一个明确的、清晰的认识,然后形成整体设计规范的定义,这一 步骤对以后的设计来说是非常重要的。设计规范的定义将对后面的设计步骤起到提纲挈领的作用,它相当于系统设计的总体方案。
(2)采用VHDL进行设计的描述
采用VHDL进行设计描述主要包括设计规范和程序编写两个步骤。设计规划的主要任务是进行设计方式的选择以及是否进行模块划分。通常,设计中采用的设计方式包括直接设计,自顶向下设计和自底向上的设计,一般采用自顶向下的设计方法。模块划分是设计过程中一个非常重要的步骤。模块划分的好坏将会直接影响到最终的电路设计,因此在这一步应该花费一定的时间,从而保证模块划分的最优化。
进行完成设计规划后,就可以按照模块划分来编写各个模块的VHDL 程序,然后将各个模块的VHDL程序组合在一起,从而完成整个设计的VHDL描述。 (3)VHDL程序仿真
在设计流程中,综合,优化和装配(或者布局线)等后续操作往往需花费大量的时间。一旦在后续工作中发现设计错误,往往需要修改VHDL描述,然后再重新进行综合、化和装配等后续操作,如此反反复复,将会浪费大量的时间和人力物力。因此,设计人常常在完成编码后采用仿真器对VHDL设计描 述进行仿真,这样可以提早发现设计错误,节省时间,缩短开发周期。 (4)综合、优化和装配
综合是指将较高层次的抽象描述转化到较低级别的抽象的一种方法,也就是将设计的描述转化成底层电路表示。但是,通常综合的结果就一个网表或者就是一组逻辑方程。
优化是指将设计的时延缩短到最小和有效地利用资源。几乎所有高级VHDL综合工具都可以使用约束条件对设计进行优化。其中约束条件的设置主要包括时间约束和面积约束。
对设计描述进行完综合和优化操作后,EDA工具需要将综合和优化的逻辑结果分配到一个逻辑器件中。通常,装配用来描述对一定的CPLD的资源进行分配的过程;布局则是将综合和优化后生成的逻辑规划到一个FPGA的逻辑结构中,然后将各逻辑单元放
8
基于FP GA的HDB3码的编码器与译码器设计(软件设计)
置到相应优化的位置,最后在逻辑元胞之间、逻辑元胞和I/O口之间进行布线。 (5)装配(或布局布线)后的仿真
与VHDL程序仿真不同,装配后的仿真不仅对设计描述的逻辑功能进行验证,而且还要对设计描述的时序功能进行验证。如果时序不能满足,那么需要回到前面的步骤重新进行操作。通常,装配后的仿真有时候被称为后仿真。 (6)器件编程
器件编程就是将设计描述经过翻译、综合、优化和装配后的结果。经过一定的映射转化成器件编程所需要的数据文件格式,然后通过烧片器或者下载电缆将数据文件下载到器件中的过程。
9
基于FP GA的HDB3码的编码器与译码器设计(软件设计)
第二章 HDB3码的编译规则
2.1主要的基带传输码型
了解NRZ码和AMI码的编码规则是了解HDB3码的编码规则的前提,NRZ码的全称是Non-Return to Zero,NRZ码的编码规则就是信号1有脉冲,信号0无脉冲,占空比100%。为克服NRZ信号存在直流分量以及丰富的高频分量。一般采用双极性归零码AMI(Alternate Mark Inversion);0信号依然是无脉冲的,1信号采用两种交替极性的脉冲传输,占空比为50%。AMI码不存在直流分量,且高频分量较NRZ要少。然而在实际应用中,人们发现0信号占有较大的比重,而连续的0信号对系统的同步以及时钟频率的提取较为不利,而采用HDB3码是解决这一问题的方法之一。 2.1.1 NRZ码的编码规则
NRZ码分为单极性NRZ码和双极性NRZ码,单极性NRZ码在表示一个码元时,二进制符号“1”和“0”分别对应基带信号的正电平和零电平,在整个码元持续时间,电平保持不变。如图2.1所示
10100110+E0
图2.1单极性NRZ码
在NRZ双极性非归零编码中,“1”和“0”分别对应正、负电平,如图2.2所示,双极性非归零NRZ码具有直流分量小、接收端判决门限为0,容易设置并且稳定,因此抗干扰能力强、可以在电缆等无接地线上传输。
10100110+E-E
图2.2双极性NRZ码
2.1.2 AMI码的编码规则
AMI码的全称是传号交替反转码。此方式是单极性方式的变形,即把单极性方式中的“0”码仍与零电平对应,而“1”码对应发送极性交替的正、负电平,如图2.3所示。AMI码实际上是把二进制脉冲序列变为三电平的符号序列,AMI码具有在“1”、“0”码不等的概率情况下,也无直流成分,且零频附近低频分量小。因此,对具有变压器
10
基于FP GA的HDB3码的编码器与译码器设计(软件设计)
或其他交流耦合的传输信道来说,不易受隔直特性的影响;若接收端收到的码元极性与发送的码元极性完全相反,也能正确判决;便于观察误码的情况;此外,AMI码还有编译码电路简单等优点,是一种基本的线路码,得到广泛应用;AMI码有一个重要缺点就是当它用来获取定时信息时,由于它可能出现长的连0串,因而会造成提取定时信息的困难。
+E-E
图2.3 AMI码
2.2 HDB3码的编码规则
HDB3码是一种AMI码的改进型,它的编码原理可简述为,在消息的二进制代码
序列中:
(1)当连“0”码的个数不大于3时,HDB3编码规律与AMI码相同,即“1”码变为“+1”、“-1”交替脉冲;
(2)当代码序列中出现4个连“0”码或超过4个连“0”码时,把连“0”段按4个“0”分节,即“0000”,并使第4个“0”码变为码“1”,用V脉冲表示。这样可以消除长连“0”现象。为了便于识别V脉冲,使V脉冲极性与前一个“1”脉冲极性相同。这样就破坏了AMI码极性交替的规律,所以V脉冲为破坏脉冲,把V脉冲和前3个连“0”称为破坏节“000V”;
(3)为了使脉冲序列仍不含直流分量,则必须使相邻的破坏点V脉冲极性交替; (4)为了保证前面两条件成立,必须使相邻的破坏点之间有奇数个“1”码。如果原序列中破坏点之间的“1”码为偶数,则必须补为奇数,即将破坏节中的第一个“0”码变为“1”,用B脉冲表示。这时破坏节变为“B00V”形式。B脉冲极性与前一“1”脉冲极性相反,而B脉冲极性和V脉冲极性相同。 如:
NRZ码:1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1 AMI码:-1 0 0 0 0 +1 0 0 0 0 -1 +1 0 0 0 0 -1 +1 HDB3码:-1 0 0 0 -V +1 0 0 0+V-1 +1–B 0 0 V +1 -1
11