内容简介
《EDA技术与实验》共分9章,分别介绍了Ahera公司迄今为止最新器件的结构、Ahera公司没计套件Quartus Ⅱ 7.0和基于NiosⅡ的SOPC系统构建方法,给出了基于台湾友晶公司DE2和康芯公司GW48实验板的设计实例。第4章从实例人手,介绍了Verilog语言常用的命令及语法结构。第5章给出了HDL编码优化方法和编码规范。第6章的DSP硬件实现算法和第9章的FPGA工程应用实例来源于作者及所在的课题组多年来的工程实际开发项目。
《EDA技术与实验》总结了近几年FPGA开发设计的经验,力求给出FPGA设计的一些较高级设计技巧和实用的设计方法,使设计人员和学生在科研开发、毕业设计及电子竞赛中获得启发和帮助。
内页插图
目录
第1章 概述
1.1 EDA技术的发展
1.1.1 EDA技术的基本特征
1.1.2 EDA技术的发展
1.2 嵌入式系统简介
1.2.1 嵌入式系统定义
1.2.2 嵌入式系统分类
1.3 IP核
1.4 SOPC技术
第2章 Ahera公司可编程逻辑器件简介
2.1 CycloneⅡ器件
2.2 CycloneⅢ器件
2.3 StratixⅢ器件
第3章 QuartusⅡ
3.1 QuartusⅡ软件介绍
3.1.1 QuartusⅡ的主要功能
3.1.2 QuartusⅡ的设计流程
3.2 DE2介绍
3.2.1 DE2开发平台
3.2.2 DE2控制面板
3.3 应用实例一:4位加法器
3.4 应用实例二:正弦信号发生器
3.4.1 顶层VHDL文件设计
3.4.2 正弦信号数据ROM定制
3.5 应用实例三:VGA显示及SRAM读写实例
第4章 Verilog语言
4.1 Verilog概述
4.1.1 VerilogHDL简介
4.1.2 VerilogHDL语言的特点
4.1.3 VerilogHDL的描述风格
4.2 VerilogHDL结构
4.3 运算符
4.4 数据选择器
4.5 编码器和译码器
4.6 数字相关器
4.7 计数器
4.8 状态机
第5章 HDL编码指南
5.1 概述
5.2 基本编码方法
5.3 可移植性编码
5.4 时钟和Reset信号设计指南
5.5 可综合性编码
5.6 可综合划分
第6章 DSP硬件算法实现
6.1 数字滤波算法FPGA实现
6.1.1 FIR滤波器
6.1.2 IIR滤波器
6.1.3 FIR及IIR数字滤波器实现
6.2 FFT和DCT变换
6.2.1 FFl算法
6.2.2 DCT变换的FPGA实现
6.3 双模式CORDIC算法的FPGA实现
6.3.1 CORDIC算法简介
6.3.2 CORDIC算法原理
6.3.3 CORDIC算法的FPGA实现
6.3.4 仿真结果与分析
6.4 全数字锁相环(DPLL)FPGA实现
6.4.1 数字锁相环简介
6.4.2 数字锁相环原理
6.4.3 数字锁相环的实现
6.5 CRC校验
6.5.1 CRC校验码原理
6.5.2 CRC校验码编码
6.5.3 CRC校验码的Verilgo实现
第7章 基于NiosⅡ的SOPC系统
7.1 SOPC简介
7.2 NiosⅡ嵌入式软核处理器
7.2.1 NiosⅡ处理器特性
7.2.2 可配置软核处理器
7.3 NiosⅡ处理器架构
7.3.1 寄存器文件
7.3.2 ALU算术逻辑单元
7.3.3 异常控制器和中断控制器
7.3.4 存储器和I/O组织
7.4 Avalon存储器映射桥接器
第8章 NiosⅡ系统设计实验
8.1 NiosⅡ系统设计所需要的开发工具
8.2 开发平台及工具简要介绍
8.3 设计实例一:点亮7段LED数码管
8.4 设计实例二:自定义PWM组件设计
第9章 FPGA工程应用实例
9.1 数据采集与滤波系统
9.2 电机控制器模块设计
9.2.1 SPWM技术
9.2.2 SPWM技术的FPGA实现
9.2.3 数字PID控制模块设计
9.3 DDS设计计
9.3.1 DDS技术原理
9.3.2 DDS模块的1WGA实现
9.4 图像处理算法设计
9.4.1 数字图像采集FPGA实现
9.4.2 3×3中值滤波算法的FPGA实现
9.4.3 简单图像增强算法的FPGA实现
9.5 ModelSim仿真实验:三角波发生器
附录
附录1GW48教学实验系统简介
附录2DE2实验板引脚对照表
附录3Xinlinx公司FPGA器件配置电路
附录4Altera公司FPGA配置电路原理图
参考文献
精彩书摘
第1章 概述
内容提要
本章主要介绍EDA技术的发展概况,可编程逻辑器件的发展概况,PLD和其他技术的比较,硬件描述语言,EDA与传统电子设计方法的比较,IP核的概念。通过本章的学习,使大家对EDA技术有一个初步的了解。
1.1 EDA技术的发展
电子设计技术的核心就是EDA技术,EDA是指以计算机为工作平台,融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD通用软件包,主要能辅助进行三方面的设计工作,即IC设计、电子电路设计和PCB设计。EDA技术已有30多年的发展历程,大致可分为三个阶段。20世纪70年代为计算机辅助设计(CAD)阶段,人们开始用计算机辅助进行IC版图编辑、PCB布局布线,取代了手工操作。20世纪80年代为计算机辅助工程(CAE)阶段。与CAD相比,CAE除了有纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计。CAE的主要功能是:原理图输入,逻辑仿真,电路分析,自动布局布线等。20世纪90年代为电子系统设计自动化(EDA)阶段。
1.1.1 EDA技术的基本特征
EDA代表了当今电子设计技术的最新发展方向,它的基本特征是:设计人员按照“自顶向下”的设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路(AsIC)实现,然后采用硬件描述语言(HDL)完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件,这样的设计方法被称为高层次的电子设计方法。下面介绍与EDA基本特征有关的几个概念。
1.“自顶向下”的设计方法
10年前,电子设计的基本思路还是选用标准集成电路“自底向上”地构造出一个新的系统,这样的设计方法就如同一砖一瓦建造金字塔,不仅效率低、成本高,而且容易出错。
高层次设计是一种“自顶向下”的全新设计方法,这种设计方法首先从系统设计人手,在顶层进行功能方框图的划分和结构设计。在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证。然后,用综合优化工具生成具体门电路的网络表,其对应的物理实现级可以是印刷电路板或专用集成电路。由于设计的主要仿真和调试过程是在高层次上完成的,这既有利于早期发现结构设计上的错误,避免工作时间的浪费,又减少了逻辑功能仿真的工作量,提高了设计的一次成功率。
2.ASIC设计
现代电子产品的复杂度日益提高,一个电子系统可能由数万个中小规模集成电路构成,这就带来了体积大、功耗大、可靠性差的问题。解决这一问题的有效方法就是采用ASIC芯片进行设计。ASIC按照设计方法的不同可分为全定制ASIC、半定制ASIC和可编程ASIC(也称为可编程逻辑器件)。
设计全定制ASIC芯片时,设计师首先要定义芯片上所有晶体管的几何图形和工艺规则,然后将设计结果交由厂家去做出产品。这种设计方法的优点是芯片可以获得最优的性能,即面积利用率高、速度快、功耗低,而缺点是开发周期长、费用高,只适合大批量产品开发。
半定制ASIC芯片的版图设计方法分为门阵列设计法和标准单元设计法,这两种方法都是约束性的设计方法,其主要目的就是简化设计,以牺牲芯片性能为代价来缩短开发时间。
可编程逻辑芯片与上述掩模ASIC的不同之处在于:设计人员完成版图设计后,在实验室内就可以烧制出自己的芯片,无须IC厂家的参与,大大缩短了开发周期。
可编程逻辑器件自20世纪70年代以来,经历了PAL、GAL CPLD、FPGA几个发展阶段,其中CPLD/FPGA为高密度可编程逻辑器件,目前集成度已高达200万门/片,它将ASIC集成度高的优点和可编程逻辑器件设计生产方便的特点结合在一起,特别适合于样品研制或小批量产品开发,使产品能以最快的速度上市,而当市场扩大时,它可以很容易地转由掩模ASIC实现,因此开发风险也大为降低。
上述ASIC芯片,尤其是CPLD/FPGA器件,已成为现代高层次电子设计方法的实现载体。
3.硬件描述语言
硬件描述语言(HDL)是一种用于设计硬件电子系统的计算机语言,它用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接形式,与传统的门级描述方式相比,它更适合大规模系统的设计。例如一个32位的加法器,利用图形输入软件需要输入500~1 000+fl,而利用VHDL语言只需要书写一行“A=B+C”即可。而且VHDL语言可读性强,易于修改和发现错误。早期的硬件描述语言,如ABEL、HDL、AHDL,由不同的EDA厂商开发,互不兼容,而且不支持多层次设计,层次间翻译工作要由人工完成。为了克服以上不足,l985年美国国防部正式推出了高速集成电路硬件描述语言VHDL。1987年,IEEE采纳VHDL为硬件描述语言标准(IEEE srID一1076)。
VHDL是一种全方位的硬件描述语言,包括系统行为级、寄存器传输级和逻辑门级多个设计层次,支持结构、数据流和行为三种描述形式的混合描述,因此VHDL几乎覆盖了以往各种硬件描述语言的功能,整个“自顶向下”或“自底向上”的电路设计过程都可以用VHDL完成。VHDL还具有以下优点:
(1)VHDL的宽范围描述能力使它成为高层次设计的核心,将设计人员的工作重心提高到了系统功能的实现与调试,而花较少的精力用于物理实现。
(2)VHDL可以用简洁明确的代码描述来进行复杂控制逻辑设计,灵活且方便,而且也便于设计结果的交流、保存和重用。
(3)VHDL的设计不依赖于特定的器件,方便了工艺的转换。
(4)VHDL是一个标准语言,为众多的EDA厂商支持,因此移植性好。
4.EDA系统框架结构
EDA系统框架结构(Fr踟ework)是一套配置和使用EDA软件包的规范。目前主要的EDA系统都建立了框架结构,如CADENCE公司的Design Framework,Mentor公司的FalconFramework,而且这些框架结构都遵守国际CFl组织制定的统一技术标准。框架结构能将来自不同EDA厂商的工具软件进行优化组合,集成在一个易于管理的统一的环境之下,而且还支持任务之间、设计师之间以及整个产品开发过程中的信息传输与共享,是并行工程和“自顶向下”设计实现的基础。
1.1.2 EDA技术的发展
EDA技术的每一次进步,都引起了设计层次上的一次飞跃,从设计层次上分,20世纪70年代为物理级设计(CAD),20世纪80年代为电路级设计(CAE),20世纪90年代进入到系统级设计(EDA)。物理级设计主要指IC版图设计,一般由半导体厂家完成,对电子工程师没有太大的意义,因此本文重点介绍电路级设计和系统级设计。
1.电路级设计
电子工程师接受系统设计任务后,首先确定设计方案,并选择能实现该方案的合适元器件,然后根据具体的元器件设计电路原理图,进行第一次仿真,其中包括数字电路的逻辑模拟、故障分析,模拟电路的交直流分析、瞬态分析。在进行系统仿真时,必须有元件模型库的支持,计算机上模拟的输出波形代替了实际电路调试中的信号源和示波器。这一次仿真主要是检验设计方案在功能方面的正确性。
仿真通过后,根据原理图产生的电气连接网络表进行PCB板的自动布局布线。在制作PCB板之前还可以进行PEB后分析,其中包括热分析、噪声及窜扰分析、电磁兼容分析、可靠性分析等,并可将分析后的结果参数反标回电路图,进行第二次仿真,也称为后仿真。后仿真主要是检验PCB板在实际工作环境中的可行性。
由此可见,电路级的EDA技术使电子工程师在实际的电子系统产生前,就可以全面地了解系统的功能特性和物理特性,从而将开发风险消灭在设计阶段,缩短了开发时间,降低了开发成本。
2.系统级设计
进入20世纪90年代以来,电子信息类产品的开发明显呈现两个特点:一是产品复杂程度提高;二是产品上市时限紧迫。然而,电路级设计本质上是基于门级描述的单层次设计,设计的所有工作(包括设计输入、仿真和分析、设计修改等)都是在基本逻辑门这一层次上进行的,显然这种设计方法不能适应新的形势,一种高层次的电子设计方法,即系统级设计方法应运而生。
高层次设计是一种“概念驱动式”设计,设计人员无须通过门级原理图描述电路,而是针对设计目标进行功能描述。由于摆脱了电路细节的束缚,设计人员可以把精力集中于创造性的方案与概念的构思上,一旦这些概念构思以高层次描述的形式输入计算机,EDA系统就能以规则驱动的方式自动完成整个设计。
……
前言/序言
EDA技术与实验/普通高等教育“十一五”国家级规划教材 下载 mobi epub pdf txt 电子书 格式