近场通信(NFC)基带解码硬件系统的设计

  • IT技术
  • 2019-11-30
  • 人已阅读
简介NFC在单一芯片上结合了感应式读卡器,感应式卡片和点对点的功能。在数厘米(通常是15厘米以内)距离之间于13.56MHz频率范围内运作,通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,任意两个设备(如移动电话、蓝牙设备、WiFi设备)接近而不需要线缆接插,就可以实现相互间的通信,可以满足任何两个无线设备间的信息交换、内容访问、服务交换。此外,拥有 NFC 功能的消费电子装置可以轻易地交换或储存个人资料,其中包括各种讯息、照片、MP3等。为消费者实现使用简便、免安装设定、现场立即联机、智能

近场通信(NFC)基带解码硬件系统的设计

 

 

目录

1.    课题背景介绍... 1

1.1.    课题来源... 1

1.2.    课题研究内容... 2

1.3.系统总体方案... 3

1.3.1.   原理介绍... 3

1.3.2.   主要功能模块... 4

1.3.3.错误检测与纠正拟采用的方法... 5

2.    论文工作是否按开题报告预定的内容及进度安排进行... 11

2.1.    开题报告工作计划... 11

2.2.    实际工作计划... 12

2.3.    说明... 12

3.    目前已完成的研究工作及结果... 14

3.1.    主要功能模块的实现过程... 15

3.1.1.   核心控制模块-数字锁相环... 15

3.1.2.   可编程串行接口单元(SIU... 16

3.1.3.其它功能模块(略)... 18

4.    后期拟完成的研究工作及进度安排... 19

4.1.    后期工作计划及进度... 19

5.    存在的困难与问题... 20

5.1.    时钟歪斜 造成信息传输出错... 20

5.2.    NFC收发调试总是不成功... 21

5.3.    毛刺信号的影响... 21

6.如期完成全部论文工作的可能性... 21

6.1.    如期完成论文的可能性... 21

6.2.    仿真结果与实际应用电路一致性的不确定性... 21

7.    论文工作计划... 22

8.    主要参考文献... 23

 


课题背景介绍

课题来源

本课题来源于集成电路设计专业EDA实验室预研项目。

NFC技术脱胎于无线设备间的“非接触式射频识别”(RFID)及互连技术,它可以满足任何两个无线设备间的信息交换、内容访问、服务交换,并且使之更为简约——只要任意两个设备靠近而不需要线缆接插,就可以实现相互间的通信。这将任意两个无线设备间的“通信距离”大大缩短。

NFC在单一芯片上结合了感应式读卡器,感应式卡片和点对点的功能。在数厘米(通常是15厘米以内)距离之间于13.56MHz频率范围内运作,通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,任意两个设备(如移动电话、蓝牙设备、WiFi设备)接近而不需要线缆接插,就可以实现相互间的通信,可以满足任何两个无线设备间的信息交换、内容访问、服务交换。此外,拥有 NFC 功能的消费电子装置可以轻易地交换或储存个人资料,其中包括各种讯息、照片、MP3等。为消费者实现使用简便、免安装设定、现场立即联机、智能门控等功能,完全符合现代消费者的需求。

NFC技术可以实现智能事务处理:当你手里拿着手机,在一个音乐会的广告海报前面,把手机靠近海报,它就能实现手机与海报网站的连接;要想买票入场,可以利用嵌在手机中的智能卡支付票款。

  

 

课题研究内容

总体需要完成的工作:

1)        文献资料的收集与整理

2)        协议的理解和把握

3)        硬件系统的框架结构以及各模块的管脚设定

4)        完成硬件系统各模块的功能设计,和代码的可综合性优化

5)        NFC系统外接RF扩展板的选购

6)        完成FPGA板的试验和调试工作

 

 

系统总体方案

1.1.1.   原理介绍

    基于NFC通信协议被视为一种开关键控的数据模式,基于NFC通信协议中的

‘划’比‘点’的时间长34倍,不同的‘点’和‘划’组合形成长短不一的

无线电码,不同的无线电码表示不同的电气意义符号。发信者先将所要传递的文

字翻译成无线电符号,再利用无线电发送出去,收信者将收到的无线电信号按照

NFC协议翻译成相应信息,以此实现无线文字的传播。目前通过微机模拟的方法

实现NFC无线电信号的自动处理,使无线NFC信号数据进入计算机信息网的方案

已得到解决,利用微机处理NFC的方案是先通过软件编程的方法将ASCLL码进行

摩尔斯编码,然后通过微机并口发送基于NFC通信协议信号,接收时,先通过声

频卡来识别接收基于NFC通信协议信号,最后通过软件解码成ASCLL码,此方法在成本相对较高,在实际应用中缺乏方便性和灵活性

根据海洋通信业务的要求,MORSE码处理系统功能定义为:其一、根据指令自动编码、串行发送MORSE码。即根据指令可自动提取ASCLL码,再将ASCLL码自动编码成摩尔斯编码,将编好的MORSE码自动串行发送输出。其二、根据指令自动接收、解码NFC,并将ASCLL码送入系统。即根据指令自动接收NFC输入,将接收的NFC自动解码成ASCLL码。将ASCLL码存储至目标地址或送入系统处理。

通过对NFC特点的研究可知,在设计NFC收发模块中必须要有能接收和发送NFC信息帧的串行异步通信模块。首先,该串行通信模块在指令的控制下,要具有NFC的自动发送能力,同时具有MORSE码的识别接收能力,因为NFC串行异步帧的起始位和停止位都不同于ASCLL码串行异步帧,并且不同的NFC串行帧长度也不一样。二是NFC的解码和编码问题,因为计算机内核是以ASCLL码为信息交换码的。

由此而来,只要设计出具有接收和发送MORSE码串行信息帧功能,并且具有

解码和编码NFC功能的串行通信子模块,并将其嵌入在系统总线上,则用计算机直接处理MORSE码就成为可能。据此分析,可以得出NFC收发模块的设计要求,一方面能从串行接收端将NFC解码成并行的ASCLL码,另一方面能将并行的ASCLL码编码成串行NFC。由此,本文设计的基于FPGANFC收发模块内部组成框图如图一所示。

 

 

                            图一

1.1.2.   主要功能模块

本系统的设计包括了数字锁相环、纠错编解码、码组交织、扰码加入、巴克码插入、帧同步/异步识别、数字调制解调。

该处理系统的主要功能模块有

l  核心控制模块

l  总线控制模块

l  可编程中断处理模块

l  可编程并行I/O接口(P0P1P2P3

l  可编程串行接口单元(SIU

l  可编程定时计数器03Timer0~Timer3

l  可编程NFC异步收发模块

l  数字调制与解调

    中断处理模块有4个外中断源(int0int3)和六个内中断源(TF0~TF3

T1/R1mT1/mR1),SIU是系统的通用串行接口,它有四种工作模式,工作式13是通用串行异步接收发送USART(Universal Serial Asynchronous

Receiver/Transmitter)工作方式,当SIU工作于模式13时,Timer1是其波特

率发生器。

 

 

1.1.3.   错误检测与纠正拟采用的方法 

1.1.3.1.  检错与纠错原理

  进行差错控制的基本思想是在信息码组中以一定规则加入不同方式的冗余码,以便在信息读出的时候依靠多余的监督码或校验码来发现或自动纠正错误。

  针对误码发生的特点,即错误发生的随机性和小概率性,它几乎总是随机地影响某个字节中的某一位(bit),因此,如果能够设计自动纠正一位错误,而检测两位错误的编码方式,就可以大大的提高系统的可靠性。

   现在我们以16位的CPU数据总线为例,假定信息源的位数为16,要构造一种能够纠正一位错误,检查两位错误的编码方式。根据"纠错定?quot;,需 要设计最小汉明距离≥4的码组。我们可以采用线形分组码,利用线性分组码的概念可以构造六位监督码,它们由如下线性关系产生:


  其中,d0~d1516位数据(15为最高位MSB0为最低位LSB),C0~C5为产生的六位监督码,表示进行异或运算。
在数据读出时,我们只需要考察伴随式S=[S0 S1 S2 S3 S4 S5],其中:

  很容易证明,根据伴随式进行误差诊断,符合表 1所列情况。

1


S = [0 0 0 0 0 0]时,数据正确无误;
S = [0 0 1 0 1 1]时,数据错一位,并且错误发生在d0位,可将d0位的数据取反加以纠正;
S = [0 0 1 1 0 1]时,数据错一位,并且错误发生在d1位,可将d1位的数据取反加以纠正;
.
.
.
S= [1 1 0 1 0 0]时,数据错一位,并且错误发生在d15位,可将d15位的数据取反加以纠正;
S = [0 0 0 0 0 1]时,数据错一位,并且错误发生在C0位;
.
.
.
S = [1 0 0 0 0 0]时,数据错一位,并且错误发生在C5位;
S为其它情况时,至少发生两位错误。

  可以看出,这种编码方式可以满足自动纠正一位错误,而发现两位错误的要求。下面就进一步讨论如何用电路来实现。

1.1.3.2.   EDAC电路的设计

   EDAC电路必须配合CPU的读写时序进行工作,不同类型CPU的时序往往是不一样的。一般来说,总可以分为读周期和写周期。在写周期时,按照上面的设 计逻辑,根据16位数据位生成6位的校验字,这时,数据位是输入,校验位是输出,并在该写周期中将数据位和校验位都存储到相应的存储器位置中去,这种情况 比较简单。在读周期时,情况复杂些,可以设计成三步完成。第一步,在CPU读信号来之前,由于存储器地址和片选信号已经有效,可先将数据位和校验位读入, 这时,数据位和校验位都是作为输入。第二步,在读信号来时,将数据位、校验位锁存,同时进行检测,如果无错,则不进行任何处理,直接将数据输出;如果发现 二位错,则产生中断;如果是一位错,在输出上有所反应,并进入下一步。第三步,如果是数据位出错,将其自动更正,并将正确的值再回写到相应的内存地址中, 将正确的数据值输出到数据总线;如果是校验位出错,可以直接将正确的数据位输出到数据总线上。这部分功能是EDAC功能的核心,可以用VHDL语言来实 现,以下是设计思路。

1)对输入的设计

数据位和校验位的输入。

控制端的输入。经过前面的分析,一共有四种状态(写一种状态、读三种状态),可以设计两个控制端,设为C0C1。其功能见表 2

2

2)对输出的设计

数据位和校验位的输出。其中校验位的输出在读周期和写周期有所不同:在写周期校验位输出是生成的校验位;而读周期就没有必要输出校验位了,可以设计为输出伴随式S

错误标记输出。在应用中,可以设计两种错误标记输出,分别记为ERRINT。其中ERR输出"1"表示数据位有错误产生,包括可自动纠正的一位错误和两 位或两位以上错误。INT输出"1"则表示发生了两位或以上错误,无法自动纠正,向CPU申请中断,由CPU进行异常处理。
在表2中,总结了上面所描述的功能设计

  图1EDAC部分逻辑等效图。

   由于逻辑关系已经非常明确了,下面讨论采用VHDL语言实现上述EDAC模块的功能。可以有两种方法来实现VHDL编程,即RTL级语言描述和行为级语 言描述。其中RTL级描述的实现难度比较大,需要根据前面设计的逻辑功能,转换为基本的门来描述;有效率高和受逻辑综合软件的影响小等优点,但可读性差, 实现起来比较困难。因此我们采用的是行为级描述,根据四个输入作敏感量,用一个进程(process)就可以实现。编程思路是:根据控制端C0C1进行 判断,如果是写周期,直接将输入的数据相应位进行异或后输出;如果是读周期,先生成伴随式S,然后判断S,用CASE语句执行相应的输出。需要强调的是在 不需要输出的时候,要把输出端用高阻封住。

  利用这个EDAC模块再辅以简单的外围电路就可以实现较强的EDAC功能,可以把这一部分整个电路都集成到FPGA中。

1.1.3.3.  仿真结果

  仿真环境:MAX+plus II 10.0
  仿真模拟器件:FLEX 10K系列,EPF10K10LC84-3
  信号功能说明见表 3

 

1)写周期的仿真

  图 2所示仿真图中,275~500 ns仿真了一个写周期,数据输入是AA55,而校验位输出是00,通过验证是符合上面的设计逻辑的。

2)读周期的仿真

在读周期的仿真中,我们模拟了以下四种情况。

正确的读周期:出现在650~975ns,校验位、数据位都是正确值。

数据位出现一位错误:图21.25~1.65 μs模拟了数据位产生一位错误的情况。数据正确的情况下应该是AA55,但现在d8位发生了错误,读入的数据变为AB55,可以看出数据已经被自动更正为 AA55;同时,ERR输出"1"表明有错误发生,CBOUT输出为23,即100011,从表 1可以看出是d8位发生了错误。

校验位出现一位错误:图21.8~2.0μs模拟了校验位产生一位错误的情况。校验位正确的情况下应该是00,但现在C2位发生了错误,读入的数据变为 04,可以看出数据没变,仍为正确值AA55;同时,ERR没有输出,CBOUT输出为04,即000100,从表一可以看出是C2位发生了错误。

发生了两位错误:图 22.4~2.75μs模拟了数据位产生两位错误的情况。数据正确的情况下应该是AA55,但现在d8位和d0位发生了错误,读入的数据变为AB54,可以看出EDAC电路已经无法自动更正。 ERRINT同时输出"1"表明有多位错误发生,INT信号可以向CPU申请中断,用中断服务程序进行异常处理。

  可以看出仿真结果可以满足设计时的思想,能够起到自动纠正一位错误和检测两位错误的功能。

 

 

论文工作是否按开题报告预定的内容及进度安排进行

开题报告工作计划

序号

任务名称

开始日期

终止日期

持续时间

1

项目资料收集

2008-01-10

2008-01-20

10d

2

项目资料整理

2008-01-21

2008-02-10

21d

3

NFC基带模块的结构分析及接口定义

2008-02-11

2008-03-31

49d

4

编写NFC基带模块的代码

2008-04-01

2008-05-31

61d

5

编写NFC基带模块测试代码及调试

2008-06-01

2008-06-30

30d

6

FPGA调试

2008-07-01

2008-08-31

62d

7

中期答辩及硬件系统调试

2008-09-01

2008-11-30

91d

8

后期总结及论文答辩

2008-12-1

2008-12-31

31d

 

 

 

 

 

 

 

 

实际工作计划

序号

任务名称

开始日期

终止日期

持续时间

1

项目资料收集

2008-01-10

2008-01-20

10d

2

项目资料整理

2008-01-21

2008-02-10

21d

3

NFC基带模块的结构分析及接口定义

2008-02-11

2008-03-31

49d

4

编写NFC基带模块的代码

2008-04-01

2008-05-31

61d

5

编写NFC基带模块测试代码及调试

2008-06-01

2008-07-30

30d

6

FPGA调试

2008-07-31

2008-10-10

62d

7

中期答辩及硬件系统调试

2008-10-10

2008-11-11

91d

8

后期总结及论文答辩

2008-11-11

2008-12-31

31d

 

说明

为了完成本设计,本人前期查阅了大量的NFCFPGAMATLAB仿真方面的书籍及杂志,数字化、宽带化是当今无线通信的重点主流方向,并且发展极为迅猛,新技术层出不穷。许多传统的模拟设计方法已被淘汰,而基于专用集成芯片(ASIC)的开发模式又总是落后于无线通信技术前进的步伐。

FPGA以其功能强大、开发周期短、投资少、可重复修改、开发工具智能及可软件升级等特点成为无线通信领域硬件设计的首选方式之一。Xilinx公司是最早的也是最大的FPGA芯片生产商,其芯片技术、开发软件及相关解决方案在业界属于顶级水平,拥有广泛的客户群。

电子设计自动化(EDA)的实现是与CPLD/FPGA技术的迅速发展息息相关的。CPLD/FPGA80年代中后期出现的,其特点是具有用户可编程的特性。利用CPLD/FPGA,电子系统设计工程师可以在实验室中设计出专用IC,实现系统的集成,从而大大缩短了产品开发、上市的时间,降低了开发成本。此外,CPLD/FPGA还具有静态可重复编程或在线动态重构特性,使硬件的功能可象软件一样通过编程来修改,不仅使设计修改和产品升级变得十分方便,而且极大地提高了电子系统的灵活性和通用能力。

电路设计工程师设计一个电路首先要确定线路,然后进行软件模拟及优化,以确认所设计电路的功能及性能。然而随着电路规模的不断增大,工作频率的不断提高,将会给电路引入许多分布参数的影响,而这些影响用软件模拟的方法较难反映出来,所以有必要做硬件仿真。FPGA/CPLD就可以实现硬件仿真以做成模型机。将软件模拟后的线路经一定处理后下载到FPGA/CPLD,就可容易地得到一个模型机,从该模型机,设计者就能直观地测试其逻辑功能及性能指标。
    
使用可编程逻辑EDA实验开发器,可充分利用FPGA 技术,使电子设计实现自动化,使用方便、快捷,短时间内可以在FPGA/CPLD及电子设计方面具有很高水平,设计出自己的专用集成电路(ASIC),缩短新产品的开发周期,保护自己的知识产权,抛弃面包板,抛弃所有74系列的集成电路。

现在本设计地规划设计时间已近半,在这段时间里,本人深刻的体会到由于FPGA的开发技术博大精深,加上无线通信技术的迅猛发展,不可能通过一个设计全面掌握FPGA技术,本设计的实现过程,只不过是迈进芯片设计的第一步。

 

1. 目前已完成的研究工作及结果

目前如下几个方面的仿真已经初步结束:

l  核心控制模块

l  总线控制模块

l  可编程中断处理模块

l  可编程并行I/O接口(P0P1P2P3

l  可编程串行接口单元(SIU

本文选择CLK频率为25MHZ,波特率为25M/161562500bps,对以上电路进行了验证。当发送字符‘7’,执行发送命令后,将启动数据发送的进程,将字符‘7’的ASCLL码值送入ASCLL码发送缓存器,通过MaxPlusIISimulator仿真器,进行时序仿真验证,研究结果如图3所示。从图中可看出,串行信号端子输出的“2长划”,“3点”,经查表对应的就是NFC协议的数字‘7’,证明数据发送是正确的。另外当数据输出结束后,立刻置高电平,即产生中断信号mTI,字符‘7’的发送用时大约10us

说明: fpga-03-logo

                      图 二:仿真验证数据

 

 

 

 

1.1.  主要功能模块的实现过程

1.1.1.   核心控制模块-数字锁相环

数字锁相环框图

锁相环一端连接外部全局时钟或者全局控制信号,另一端连接可编程逻辑器件内部专门的布线网络,可以最大程度地减少全 局时钟信号到片内各个部分的布线延迟,有效地消除了时钟偏移而带一的各种问题。同时,锁相环一般都提供了倍频、分频、相移三个功能。

 

1.1.2.   可编程串行接口单元(SIU

设计所采用的是异步通信方式,可以规定传输的一个数据是10位,其中最低位为启动位(逻辑0低电平),最高位为停止位(逻辑1高电平),中间8位是数据 位。为了方便对数据进行正确控制,选取发送(接受)每位数据用4个时钟周期。为了能够达到串行通信的波特率,例如4800B/s,则需把时钟频率设为 19.2kHz。系统结构如图1所示:


6

Ø  系统原理


首先介绍串行通信发送器的工作原理。6位计数器用于判断发送的数据是否发送完毕及在发送完毕后装入新的数据,其VHDL语言程序如下:


process(carry)
begin
if carry'event and carry='1'then
if counter40="100111"then
load<='1';
counter40<="000000";
else counter40<=counter40+1;
load<='0';
end if;
end if;
end process;


由于本设计中选取一位数据4个时钟周期,因此当计数到“100111”时,表示10位数据发送完毕;此时将加载信号“load”1,则向移位寄存器加载10位数据。此计数器的时钟信号由3位计数器的进位信号提供,3位计数器程序为如下:


process(clk)
begin
if clk'event and clk='1'then
if counter4="0011"then
counter4<="0000";
carry<='1';
else counter4<=counter4+1;
carry<='0';
end if;
end if;
end process;


当计数脉冲为3时,计数器清零并发出进位信号“carry”“carry”既是6位计数器的时钟信号,又是移位寄存器的移位脉冲,移位寄存器实际上在发送器中是一个并串转换器,其程序为如下:


process(load,carry)
begin
if load='1'then
reg10(9 downto 0)<=regin(9 downto 0);
else
if carry'event and carry='1' then
din<=reg10(0);
reg10(8 downto 0)<=reg10(9 downto 1);
end if;
end if;
end process;


当加载信号高有效时,10位数据从外部寄存器中并行载入REG10,载入后在“carry”有效时,即每4CLK周期右移一位进入锁存器,进而从TXD发出。发送器的仿真波形如图2所示。


2


接收器的结构与模块的功能与发送器相似。通过判断接收锁存器中的起始位是否为零,来确定接收与否。若有效时,3位计数器开始计数,将锁存器中的数据逐位右 移到移位寄存器中,6位计数器同样计数到“100111”,此时表示已接收10位数据,发出信号把移位寄存器中的数据并行读出。接收器中的移位寄存器其实 是一个串并转换器。

2. 后期拟完成的研究工作及进度安排

2.1.  后期工作计划及进度

后期还有如下工作要继续进行:

  

进度安排

l  可编程定时计数器03Timer0~Timer3

2008121- 2008年12月10

l  数字调制与解调

20081211- 2008年12月20

l  可编程NFC异步收发模块

20081221- 2008年12月30

 


 

 

存在的困难与问题

2.2.  时钟歪斜 造成信息传输出错

电路中控制各元件同步运行的时钟源到各元件的距离相差很大,时钟歪斜就是在系统内不同元件处检测到有效的时钟跳变沿所需的时间差异。

为了保证几个方面设法减少时钟歪斜,正在进行中:

  (1) 采用适当各个元件的建立保持时间,歪斜必须足够小。若歪斜的程度大于从一边缘敏感存储器的输出到下一级输入的延迟时间,就能使移位寄存器的数据丢失,使同步计数器输出发生错误,故必须设法消除时钟歪斜。

  现正在以下的时钟缓冲器,或者在边缘敏感器件的输出与其馈给的任何边缘敏感器件输入端之间加入一定的延迟以减小歪斜。

  (2) 严重的时钟歪斜往往是由于在FPGA内的时钟及其它全局控制线(如复位线)使负载过重造成的,在信号线上接一串线形缓冲器,使驱动强度逐步增大,可以消除时钟歪斜。

  (3) 在受时钟控制的部件之后分别接入缓冲器,并在两个缓冲器输出端之间接一平衡网络。

  (4) 采用FPGA内的PLL模块可以对输入时钟进行很好的分频和倍频,从而使时钟歪斜减到最低程度。

 

2.3.  NFC收发调试总是不成功

 

分别在发射部分(编码加调制)和接收部分(解调加解码)相独立和相联系的情况下,仿真实现难度较大,目前仍在调试中。

 

2.4.  毛刺信号的影响

 

在组合逻辑电路中,信号要经过一系列的门电路和信号变换。由于延迟的作用使得当输入信号发生变化时,其输出信号不能同步地跟随输入信号变化,而是经过一段过渡时间后才能达到原先所期望的状态。这时会产生小的寄生毛刺信号,使电路产生瞬间的错误输出,造成逻辑功能的瞬时紊乱。在FPGA内部没有分布电感和电容,无法预见的毛刺信号可通过设计电路传播,从而使电路出现错误的逻辑输出。

毛刺信号时常导致接收和发送出现错误甚至瞬时紊乱,目前仍未找到可靠的解决办法。

 

3.  如期完成全部论文工作的可能性

3.1.  如期完成论文的可能性

如果以上几个问题能够得到比较合理而且较快的解决,如期完成论文的可能性90%.

3.2.  仿真结果与实际应用电路一致性的不确定性

仿真结果和实际综合的电路的有可能会一致性差,无论是时序电路还是异步逻辑电路,其行为与其仿真器结果都是不完全一样的。

特别是异步逻辑电路,仿真结果将会隐藏竞争冒险和毛刺现象,与实际行为相差较远。故在FPGA设计中,对每一个逻辑门,每一行VHDLVerilog)语言,必须完全理解,不能期望仿真器替你找到错误。

因此实现此电路的实际应用,从目前的情况来看,有很大的不确定性

 

 5. 主要参考文献

1    段吉海,黄智伟  数字通信系统建模与设计[M].电子工业出版社,2004

2    曾繁泰,侯亚宁,崔元明  可编程器件应用导论[M].清华大学出版社,2001

3    Paul Rodman  复杂芯片设计的分而胜之之道[J]. 电子设计技术2004

4    晏磊 基于FPGA曼彻斯特码数据传输系统的实现[J],微计算机信息,2006,1-2:p169-170,p22

5    黄智伟,FPGA系统设计与实践电,电子工业出版社,2005

6    薛小刚,FPGA设计指南,人民邮出版社,2007.8

7    杜慧敏,基于VerilogFPGA设计基础,西安电子科技大学出版社,2006.2

8    王金明,数字系统设计Verilog HDL,电子工业出版社出版社,2005.9

9    罗朝霞,高书莉,CPLD/FPGA设计及应用,人民邮电出版社,2007.7

10  侯伯亨,VHDL硬件描述语言与数字逻辑电路设计,西安电子科技大学出版社,1997.1

11  姜宇柏,黄志强,通信收发信机的Verilog实现与仿真,机械工业出版社出版社,2006.10

12  卓兴旺,基于Verilog的数字系统应用设计,国防工业出版社,2006.1

13  杨宗凯,数字专用集成电路的设计与验证,电子工业出版社,2004.6

14  李兆麟,完整的数字设计,清华大学出版社,2006.1

15  张之超,无线通信设备与系统设计大全,人民邮电出版社,2004.1

16  阎敬文,基于FPGA的系统设计,机械工业出版社,2006.5

17    杉,数字IC设计,机械工业出版社,2006.1

18  曹学军,无线电通信设备原理与系统应用,机械工业出版社,2007.1

19    彬,数字IC系统设计,西安电子科技大学出版社,2006.2

20  张雅琪,VerilogHDL高级数字设计,电子工业出版社,2007.1

 

 

文章评论

共有条评论来说两句吧...

用户名:

验证码:

Top