文档库 最新最全的文档下载
当前位置:文档库 › crc vhdl

crc vhdl

crc vhdl
crc vhdl

目录

目录 (1)

摘要 (2)

1 引言 (3)

1.1 课程设计目的 (4)

1.2 课程设计平台 (4)

2 应用工具介绍 (5)

2.1 EDA 技术介绍.............................................................................. 错误!未定义书签。

2.2 VHDL语言介绍 (6)

2.3 VHDL语言的特点 (6)

3 设计原理 (8)

3.1编码器的设计 (8)

3.2译码器的设计 (9)

4 设计步骤 (11)

4.1 VHDL设计流程 (11)

4.2 系统分析 (11)

4.3 程序流程分析 (12)

4.4 程序设计 (12)

4.5 系统仿真 (15)

4.6 结果分析 (17)

5 结束语 (18)

6 致谢 (19)

参考文献 (20)

基于VHDL语言的循环码编译码器设计学生姓名:凌鹏指导老师:肖红光等

摘要本课程设计设想采用专用集成电路芯片实现循环码编译码器的功能。在本次计中,使用的系统开发平台为Quartus2Ⅱ,硬件描述语言是VHDL。设计方案中,实现了编码,纠错,译码。从循环的原理出发,讨论循环码编译码系统的特点。以一个(7,4)循环码为例,使用硬件描述语言VHDL 对该系统进行了设计,能实现循环码以及一位错码的纠错译码。依据设计方案和设计平台完成了程序编写和程序调试,通过运行程序及时序波形的仿真有效验证了设计的正确性,初步实现了设计目标。

关键词专用集成电路;VHDL;循环码编译码器;Quartus2Ⅱ

Abstract The course is designed ASIC chip envisaged cyclic codes codec functions. In this account, the use of the system development platform for Quartus2 Ⅱ, hardware description language VHDL. Design, the realization of the coding, error correction, decoding. From the cycle of principle, to discuss the characteristics of cyclic code encoding and decoding system. A (7,4) cyclic code, for example, using hardware description language VHDL design of the system, to achieve the cyclic code and a decoding error correction codes. Design and design platform based on the completion of the programming and debugging, and timing waveforms by running the simulation program effectively validate the correctness of the design, the initial realization of the design goal.

1 引言

循环码是在严密的代数学理论基础上建立起来的,是线性分组码的一种。这种码的编码和解码设备都不太复杂,而且纠错的能力较强。顾名思义,循环码除具有线性码的一般性质之外,还具有循环性,即任一码组循环一位以后,仍为该码中的一个码组。

在代数编码理论中,为了便于计算,经常将循环码表示成码多项式的形式,设码组为a= (an-1an-2...a1a0),则码多项式定义如下:

T (X) =an-1x +an-2x +...+a1x+a0

在循环码除全“ 0”码组外,再没有连续k 位均为“ 0”的码组,即连“0”的长度最多只有(k-1) 位。否则,在经过若干次循环移位后将得到一个k 位信息位全为“0”,但监督位不全为“0”的一个码组。因此,g (x) 必须是一个常数项不为“0”的(n-k) 次多项式,而且这个g (x) 还是这种码中次数为(n-k) 的唯一一个多项式。称这唯一的(n-k) 次多项式g(x) 为码的生成多项式。一旦确定了g (x),则整个(n,k) 循环码就被确定了。由此,可以写出循环码的生成矩阵G.

通常这时得到的循环码的生成矩阵不是典型矩阵,可通过线性变换转为典型矩阵,则循环码组可写成:

T (X) = [an-1 an-2 ...an-k]G (X)

G (X) = [an-1 x +an-2 x +...+an- (k-1) x+a ].g (x)

所有的码组多项式T (X) 都可被g (x) 整除,而且任意一个次数不大于

(k-1)的多项式乘g (x) 都是码多项式,该条性质用于编码,还可用于验证接收码组是否出错。

由于任一循环码多项式T (X) 都是g (x) 的倍式,故可写成T (X) =h (x) .g (x),而g (x) 本身也是一个码组,即有T'(X) = g (x)。由于T' (X) 是一个(n-k)次多项式,故xkT' (x)是一个n 次多项式,在模xn+1 运算下,也是该编码中的一个许用码组。可以写成x T'(x)=Q(x)+T(x) ,又由于等式左端分子和分母都是n 次多项式,故Q (x) =1。因此,上式可化成xkT'(x) = (xn+1) +T (x)。最后,可得到xn+1=g (x)[xk+h (x)]。由此说明,g (x) 应该是xn+1 的一个因子。

在本次计中,我使用的系统开发平台为Quartus2Ⅱ,在Quartus2Ⅱ上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程,它提供

了一种与结构无关的设计环境,是设计者能方便地进行设计输入、快速处理和器件编程。

在本次设计中,采用的硬件描述语言是VHDL[3](Very-High-Speed Integrated Circuit Hardware Description Language)。VHDL语言是一种用于电路设计的高级语言。VHDL主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格以及语法是十分类似于一般的计算机高级语言。

1.1课程设计目的和要求

电子产品的设计生产,从选题、方案论证、性能指标确定、装调电路、修改、定型参数直到批量生产,是一个复杂而又费时的过程。该过程的任一环节,都对产品性能和经济效益产生直接影响。

尤其是集成电路的设计,器件在插接板上就无法组合成像集成电路内部那样紧密复杂的电子电路,装配板上的寄生参数与集成环境中的完全不同。因此,在装配板测试的特性将无法准确地描述集成电路的真实特性。所以,电子电路的传统设计方法已经不适应当前电子技术发展的要求,这就要借助计算机完成电子电路的辅助设计,即电子电路EDA 技术。EDA 包括电子工程设计的全过程,如系统结构模拟、电路特性分析、绘电路图和制作PCB 等。

本课程设计中将一组循环码输入,并且能编码,再纠错,再到解码输出的一个过程。

作为通信专业的学生,通过这次EDA方面的课程设计,可以提高我们对EDA 领域及通信电路设计领域的认识,有利于培养我们在通信电路EDA方面的设计能力。一人一题特别有利于锻炼我们独立分析问题和解决问题的能力。设计过程的复杂加老师的严格要求有益于培养我们严谨的工作作风。

1.2课程设计平台

Quartus2Ⅱ

2 应用工具介绍

作为当今最流行的计算机软件系统,EDA技术是以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。EDA可提供文本输入以及图形编辑的方法将设计者的意图用程序或者图形方式表达出来,而我们经常用到的VHDL语言便是用于编写源程序所需的最常见的硬件描述语言(HDL)之一。

利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。EDA现已广泛用于机械、电子、通信、航空航天、化工、矿产、生物、医学和军事等众多领域的设计和制造。

2.1 EDA技术介绍

EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来。EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计[1]。

EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。典型的EDA工具中必须包含两个特殊的软件包,即综合器和适配器。综合器的功能就是将设计者在EDA平台上完成的针对某个系统项目的HDL、原理图或状态图形描述,针对给定的硬件系统组件,进行编译、优化、转换和综合,最终获得我们欲实现功能的描述文件。综合器在工作前,必须给定所要实现的硬件结构参数,它的功能就是将软件描述与给定的硬件结构用一定的方式联系起来。也就是说,综合器是软件描述与硬件实现的一座桥梁。综合过程就是将电路

的高级语言描述转换低级的、可与目标器件FPGA/CPLD相映射的网表文件。

在今天,EDA技术已经成为电子设计的普遍工具,无论设计芯片还是设计系统,没有EDA工具的支持,都是难以完成的。EDA工具已经成为设计师必不可少的武器,起着越来越重要的作用。从目前的EDA技术来看,其发展趋势是政府重视、使用普及、应用广泛、工具多样、软件功能强大。EDA技术发展迅猛,完全可以用日新月异来描述。EDA技术的应用广泛,现在已涉及到各行各业。EDA 水平不断提高,设计工具趋于完美的地步。

2.2 VHDL语言介绍

VHDL 的英文全名是Very-High-Speed Integrated Circuit Hardware Description Language,诞生于1982 年。1987 年底,VHDL被IEEE 和美国国防部确认为标准硬件描述语言。

VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。

2.3 VHDL语言的特点

VHDL 语言能够成为标准化的硬件描述语言并获得广泛应用 , 它自身必然具有很多其他硬件描述语言所不具备的优点。归纳起来 ,VHDL 语言主要具有以下优点:[1]

(1) VHDL 语言功能强大 , 设计方式多样

VHDL 语言具有强大的语言结构, 只需采用简单明确的VHDL语言程序就可以描述十分复杂的硬件电路。同时, 它还具有多层次的电路设计描述功能。此外 ,VHDL 语言能够同时支持同步电路、异步电路和随机电路的设计实现, 这是其他硬件描述语言所不能比拟的。VHDL 语言设计方法灵活多

样 , 既支持自顶向下的设计方式, 也支持自底向上的设计方法; 既支持模块化设计方法, 也支持层次化设计方法。

(2) VHDL 语言具有强大的硬件描述能力

VHDL 语言具有多层次的电路设计描述功能,既可描述系统级电路 , 也可以描述门级电路;描述方式既可以采用行为描述、寄存器传输描述或者结构描述,也可以采用三者的混合描述方式。同时,VHDL 语言也支持惯性延迟和传输延迟,这样可以准确地建立硬件电路的模型。VHDL 语言的强大描述能力还体现在它具有丰富的数据类型。VHDL 语言既支持标准定义的数据类型,也支持用户定义的数据类型,这样便会给硬件描述带来较大的自由度。

(3) VHDL 语言具有很强的移植能力

VHDL 语言很强的移植能力主要体现在: 对于同一个硬件电路的 VHDL 语言描述 , 它可以从一个模拟器移植到另一个模拟器上、从一个综合器移植到另一个综合器上或者从一个工作平台移植到另一个工作平台上去执行。

(4) VHDL 语言的设计描述与器件无关

采用 VHDL 语言描述硬件电路时, 设计人员并不需要首先考虑选择进行设计的器件。这样做的好处是可以使设计人员集中精力进行电路设计的优化, 而不需要考虑其他的问题。当硬件电路的设计描述完成以后 ,VHDL 语言允许采用多种不同的器件结构来实现。

(5) VHDL 语言程序易于共享和复用

VHDL 语言采用基于库 ( library) 的设计方法。在设计过程中 , 设计人员可以建立各种可再次利用的模块 , 一个大规模的硬件电路的设计不可能从门级电路开始一步步地进行设计 , 而是一些模块的累加。这些模块可以预先设计或者使用以前设计中的存档模块, 将这些模块存放在库中 , 就可以在以后的设计中进行复用。

由于 VHDL 语言是一种描述、模拟、综合、优化和布线的标准硬件描述语言 , 因此它可以使设计成果在设计人员之间方便地进行交流和共享, 从而减小硬件电路设计的工作量, 缩短开发周期。

3 设计原理

3.1编码器的设计

VHDL是一种行为描述语言,其编程结构类似于计算机中的C语言,在描述复杂逻辑设计时,非常简洁,具有很强的逻辑描述和仿真能力,是未来硬件设计语言的主流。在本设计中,应用VHDL语言,在Altera公司的Quartus II 7.2软件环境下,按照自顶而下的设计方法,对编译码器进行设计仿真。根据给定的(n,k)值选定生成多项式g (x),即从xn+1的因子中选一个(n-k)次多项式作为,假设给定信息码组为m (x)= (mk-1,mk-2...m0),其次数小于k,则xn-km (x)的次数必定小于n。用g (x)除xn-km (x),得到余式r (x),r (x)的次数必定小于g (x)的次数,即小于(n-k)。将此余式r (x)加于信息位之后作为监督位,即r (x)和xn-km (x)相加,得到多项式必定是一个码组多项式。因为它必定能被g (x)整除,且商的次数不大于(k-1)。

根据以上原理,循环码的编码步骤可以归纳如下:

(1)用xn-k乘信息码m (x),这一运算实际上是在信息码后附加上(n-k)个“0”。

(2)用g (x)除xn-km (x),得到商Q (X),

(3)编出的码组T (x) =xn-km (x) +r (x)。

由此可见,编码的核心是如何确定余式r (x),找到r (x)后,可直接将其所代表的编码位附加到信息位之后,完成编码。编码电路可采用(n-k)级反馈移位寄存器和异或门(模2加)组成的除法电路实现。以生成矩阵g (x) =x3+x+1生成(7,4)循环码的编码器为例,其除法电路如图1所示。

图3.1 除法电路图

此移位寄存器的个数与g (x)的次数相等,并且g (x)的系数1表示有反馈,0表示无反馈。每个寄存器的初始值均为0,将码组m3m2m1m0依次串行送入电路的最高端,相当于对其后面补三个零,除法电路经过四次移位后,寄

存器D1D2D3里的数即为余式r (x) 。因此,编出码组T (x) = (m3m2m1m0D1D2D3)。实际设计中,要有一个信号K来控制码组的输入与输出,在K的控制下,输入的信息码元,一方面串行输入信道,另一方面进入除法电路进行计算。当输入最末一位信息码元结束时,K信号也为零,在时钟脉冲作用下,移位寄存器将计算结果送往信道,即在最末一位信息码元后附加监督码。

3.2译码器的设计

接收端译码的要求有两个:检错和纠错。

(1)检错若接收码组R (x)与发送码组相同,即R (x) =T (x),则R (x)必定能被g (x)整除;若在传输中发生错误,即R (x)≠T (x),则R (x)被g (x)除时可能除不尽而有余项,从而发生错误。因此,可以以余项是否为零来判断接收码组中有无错误。但是,有错码的接收码组也有可能被g (x)整除,这时的错码就不能检出。这种错误称为不可检错误,其误码必定超过了此编码的检错能力。

(2)纠错

为了能够纠错,要求每个可纠正的错误图样必须与一个特定余式有一一对应关系。只有存在上述一一对应的关系时,才可能从上述余式唯一地决定错误图样,从而纠正错码。以下是为纠错而设计的。由于(7,4)循环码的最小码距为d0=3,由d0≥2t+1得,此循环码只能纠正一个错码。当经过信道传输后发生错误时,接收码组多项式R (x)不再是的倍式。

其中S (x) 是R (x) 除以g (x) 后的余式,是不大于r-1次的码组多项式,称为伴随多项式或校正子多项式。时接收码组多项式可表示为发送码组多项式T (x) 与差错多项式E (x) 之和,即:R (x) =T (x) +E (x)综合以上式子,我们由就可进一步确定 E (x):

S (x) =rem [T (x) +E (x) ]=rem [E (x) ]

g (x) g (x)

对于一个S (x),E (x) 可能有多种形式。由S (x) 确定E(x) 时同样使用最大似然比准则。对最小码重的差错多项式E(x),由上式求出对应的伴随多项式S (x),将E (x) 与S (x) 的对应关系列成译码表。当收到任一码组R (x) 后,利用S (x)=rem [R (x) /g (x)]求出S (x),对照译码表找到 E (x),再用R (x) =T

(x) +E (x) 求T (x),即T (x) =R (x) +E (x) 为已经纠错的原发送码组。纠错完毕之后,只需要取纠错后的前四位,即为所译码元。而在实际电路设计过程中,由于二进制只有0 与 1 两种状态,知道错误位置后,可以直接对该位置的码元取反即可。

综上所述,纠错的步骤如下:

(1)把接收码组R ( x) 送入除法电路,得到余数D1D2D3 即为伴随矩阵S (x)。

(2)由典型生成矩阵G 和典型监督矩阵HT 之间的关系可进一步求得,再由S=E.HT 可得错误图样E(x),这样就可以确定错码的位置。

(3)根据错误的码位,对该码位的码元取反输出便可得到原发送码组T (x)。其中,T (x) 的前四位即为译出码元m(x)。

图3.2 译码器示意图

在运用VHDL设计时,将接收码组进行串并转换,进入除法电路求其伴随式,让其并行输出之后送入错误图样识别器来确定E,以便确定出错码的位置,对其错码位取反即可。最后,通过并串转换将译码后的码组串行输出。

4 设计步骤

4.1 VHDL设计流程

本设计是采用的是循环码编译码器,图4.1是一个典型的VHDL设计流程:

图4.1 VHDL 语言设计流程图

4.2 系统分析

本设计在Quartus2Ⅱ的EDA软件平台上,运用VHDL语言进行编程。程序流程图如图3所示:

图4.2 循环码编译码框架图

循环码编译码系统结构图如图4.1 所示。由定时单元(控制信号生成单元) 、信码发生器、编码器单元、模拟错码发生器、错码位置计算单元、纠错单元组成。其中错码位置计算单元和纠错单元合在一起构成译码器。

4.3 程序流程分析

图4.3 程序流程图

该程序流程主要通过输入一组四位信息码组,然后根据编码后的余数输出对编码进行检错判断,若输出余数为000 则无错码,若输出的余数为图4.22中,则有错码。然后纠错并译码输出一个7位信息码组。

4.4 程序设计

根据程序流程图编写程序,源程序如下所示:

其中,为了增加译码器的可读性,增加了个judge信号,当为00时表示无错码,11时表示有错码。

LIBRARY ieee;

USE ieee.std_logic_1164.all;

ENTITY cycle IS

PORT (

datain: IN STD_LOGIC;

clk,clr,clr2: IN STD_LOGIC;

enable1: in std_logic;

enable2: in std_logic;

tout:out std_logic_vector(6 downto 0);

judge:out std_logic_vector(1 downto 0)

);

END cycle;

ARCHITECTURE arc_cycle OF cycle IS

SIGNAL d0,d1,d2:STD_LOGIC;

signal q1,q2,q0:STD_LOGIC_vector(7 downto 0):="00000000"; signal dataout: std_logic;

signal din: std_logic_vector(6 downto 0);

signal rout: std_logic_vector(2 downto 0);

--signal din: std_logic_vector(6 downto 0):="0000000";

BEGIN

u1:process (clk)

variable g:std_logic;

variable m:integer range 1 to 8;

begin

if (clk'event and clk='1') then

if clr='1' then --初始状态

g:='0';

m:=1;

dataout<='0';

else

if m<=8 then

if m<=4 then --输入四位信息位

dataout<=datain;

case m is

when 1 => din(6)<=dataout;

when 2 => din(6)<=dataout;

when 3 => din(5)<=dataout;

when 4 => din(4)<=dataout;

when 5 => din(3)<=dataout;

when 6 => din(2)<=dataout;

when 7 => din(1)<=dataout;

when 8 => din(0)<=dataout;

end case;

g:=datain XOR d2;

else

dataout<=d2; --余数输出

case m is

when 1 => din(6)<=dataout;

when 2 => din(6)<=dataout;

when 3 => din(5)<=dataout;

when 4 => din(4)<=dataout;

when 5 => din(3)<=dataout;

when 6 => din(2)<=dataout;

when 7 => din(1)<=dataout;

when 8 => din(0)<=dataout;

end case;

g:='0';

end if;

d2<=d1;

d1<=g XOR d0;

d0<=g;

m:=m+1;

end if;

end if;

end if;

end process u1;

---------------------------------

--

u2:process (clk)

begin

if (clk'event and clk='1') then

if enable1='1' then

for i in 1 to 7 loop -- 各寄存器按反馈关系经七次移位后,各寄存器中的数即为所求的伴随式

q2(i) <= q1(i-1) ;

q1(i) <=q2(i-1) xor q0(i-1) ;

q0(i) <=din(7-i) xor q2(i-1) ;

end loop;

rout(0)<=q0(7);

rout(1)<=q1(7);

rout(2)<=q2(7);

end if;

end if;

end process u2;

----

--

u3:process (clk)

begin

if (clk'event and clk='1') then

if enable2='1' then -- enable2 信号用来控制开始纠错

if (clr2='1') then -- 初始状态

tout<="0000000" ;

judge<="00" ;

else

case rout is -- rout 为伴随式(从低位到高位)

when "100" => -- rout为100 时,最低位码有错

tout <=din ( 6 downto 1) & (not din (0)) ; -- 错码位取反

judge<="11" ;

when "101" => -- rout为101 时,最高位码有错

tout <= (not din (6)) & din (5 downto 0) ;

judge<="11" ;

when "000" => -- rout 为000 时,无错码

judge<="00" ;

tout<=din; -- 纠错后输出

when others =>

null;

end case;

end if;

end if;

end if;

end process u3;

end arc_cycle;

4.5 系统仿真

系统仿真是在实际系统上进行实验研究比较困难时适用的必不可少的工具,它是指通过系统模型实验去研究一个已经存在或正在设计的系统的过程,通俗地讲,就是进行模型实验。因而,系统仿真的结果决定整个课程设计任务完成的到位程度。

程序输入完成后进行编译,编译完成后,可以对所进行的设计进行仿真,本课程设计的仿真平台是Quartus2Ⅱ,通过对VHDL源程序进行编译检错,然后

创建波形文件,加入输入输出变量,选择适用的芯片以及设定仿真结束时间,设置好输入初值进行仿真,得到仿真波形图如图4.4所示:

图4.4 程序仿真图

仿真图中clk为时钟信号;clr,clr2为初始状态;enable1,enable2,是用来控制开始纠错;datain为输入信号;dataout为输出信号;,din为纠错输出,是dataout 经过串转并行后变成din ;rout是纠错后的余数,判断纠错情况;tout为7位输出;judge为00时表示无错码,为11时表示有错码。

图4.5 模块仿真图

图4.6 RTL图

4.6 结果分析

图4.7(7.4)循环码图

图4.8 错误图样E和伴随式S

对照上述所述附表可知,如果该输入为1001 则对应的纠错后输出码为1001110。

从仿真图中纠错输出din可得知该设计和实际仿真结果一致,达到所需要的设计目的。

5 结束语

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。随着科学技术发展的日新月异,EDA技术已经成为当今计算机应用中空前活跃的领域,在生活中可以说是无处不在。因此作为二十一世纪的大学生来说掌握EDA技术是十分重要的。

对于EDA课程设计来说,我们大多数同学还都是一张白纸,同样对于VHDL 语言对于我们来说同样完全陌生,但是通过大家不懈的努力,从不知道变为知道,从简单操作到熟练运用,大家都付出了相应的心血。虽然,在EDA这块领域上面我们还只是入门级别,但是我相信通过此次EDA课程设计的学习,大大增加了同学们的动手能力和思考能力,为我们今后步入社会打下了坚实的基础。通过理论学习到实际应用,这次的EDA课程设计让我们切身体会到了什么才是学以致用。由于是第一次做EDA课程设计,在设计之中也不免遇到了种种问题和困难,这样才能让我自己发现自己的不足之处,才能让自己在更远的学习道路上处于不败之地。

6 致谢

在此次EDA课程设计中,由于对知识的理解不足,因此也遇到了种种问题和困难,虽然设计上还有些不足之处,但是通过老师和同学的帮助使问题得到进一步解决,让我也在此次课程设计中学习到了许多新的知识,同样也让我明白了,无论做任何事情,只要持之以恒,不断努力,终究会有成功的一天。对此次课程设计给予帮助的老师和同学,在此深表感谢!

参考文献

[1] 潘松,黄继业.EDA技术使用教程.北京:科学出版社,2002。

[2] 李国洪,沈明山,胡辉.可编程器件EDA技术与实践[M].北京:机械工业出版社,2004年,7月.

[3] 付家才.EDA工程实践技术[M].北京:工业出版社,2005年,1月.

[4]潘松,黄国栋.VHDL实用教程.电子科技出版社.

相关文档