电路计算机辅助设计(二)_第1页
电路计算机辅助设计(二)_第2页
电路计算机辅助设计(二)_第3页
电路计算机辅助设计(二)_第4页
电路计算机辅助设计(二)_第5页
已阅读5页,还剩100页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电路计算机辅助设计

吉林大学通信工程学院

高燕梅

教学内容与要求

第1章EDA技术简介

第2章VerilogHDL语言编程(10学时)

第3章VHDL语言编程(4学时)

第4章MATLAB程序入门(12学时)

第5章MATLAB在电路中的应用(4学时)

每章有实验室上机实验

dee.jlu.edu.cn/eeec实验教学

成绩评定标准

■五级分制

■作业加上机考核:

1、作业必做,上机交作业时随机考两个问题。

2、点名没有缺勤,加分。

3、每次课最后有互动抢答,3次答对,只需交作业,

可免试。

第1章EDA技术简介

1.1EDA技术的主要内容

1.2EDA软件系统的构成

1.3EDA的工程设计流程

1.4数字系统的设计方法

第2章VerilogHDL语言编程

2.1VerilogHDL设计模块的基本结构

2.2VerilogHDL词法构成

2.3VerilogHDL的语句

2.4VerilogHDL模型

2.5VerilogHDL设计电路流程

2.6用VerilogHDL描述逻辑电路的实例

第3章VHDL语言编程基础

3.1概述

3.2VHDL程序基本结构

3.3VHDL语言要素

3.4VHDL顺序语句

3.5VHDL并行语句

3.6子程序(SUBPROGRAM)

3.7库、程序包及其他

3.8VHDL描述风格

3.9基本逻辑电路设计

3.10状态机的VHDL设计

第4章MATLAB程序入门

4.1基本语法

4.1.1变量及其赋值

4.4.2矩阵的初等运算

4.1.3元素群运算

4.1.4逻辑判断及流程控制

4-2基本绘图方法

4.2.1M文件及程序调试

4.2.2MATLAB的开发环境和工具

第5章MATLAB在电路中的应用

5.1电阻电路和动态电路

5.2正弦稳态电路和频率响应

5.3二端口电路

5.4滤波器

第1章EDA技术简介

1.1EDA技术的主要内容

■EDA是电子设计自动化(ElectronicDesignAutomation)的

缩写。

■EDA技术就是以计算机为工具,设计者在EDA软件平台上,用

硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻

辑编译、化简、分割、综合、优化、布局、布线和仿真,直至

对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。

■EDA技术的出现,极大地提高了电路设计的效率和可靠性,减

轻了设计者的劳动强度。

■在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的

应用,已得到广泛的普及,这些器件为数字系统的设计带来了

极大的灵活性。

■CPLD、FPGA器件可以通过软件编程而对硬件结构和工作方式

进行重构,从而使得硬件的设计可以如同软件设计那样方便快

捷。促进了EDA技术的迅速发展。

EDA技术涉及面广,内容丰富,主要应掌握如下四个方面的

内容:

①大规模可编程逻辑器件,大规模可编程逻辑器件是利用

EDA技术进行电子系统设计的载体。FPGA和CPLD

②硬件描述语言,硬件描述语言是利用EDA技术进行电子系

统设计的主要表达手段。VHDL、Verilog>ABEL

③软件开发工具,软件开发工具是利用EDA技术进行电子系

统设计的智能化的自动化设计工具。

Altera的MAX+plusII、Lattice的ispEXPERT、Xilinx的

FoundationSerieso

④实验开发系统,实验开发系统则是利用EDA技术进行电子

系统设计的下载工具及硬件验证工具。

1大规模可编程逻辑器件

■可编程逻辑器件(简称PLD)是一种由用户编程以实现

某种逻辑功能的新型逻辑器件。

■FPGA是现场可编程门阵列的简称,

■CPLD是复杂可编程逻辑器件的简称。

■高集成度、高速度和高可靠性是FPGA/CPLD最明显

的特点,其时钟延时可小至ns级,结合其并行工作方

式,在超高速应用领域和实时测控方面有着非常广阔

的应用前景。

■FPGA/CPLD的高可靠性还表现在几乎可将整个系统

下载于同一芯片中,实现所谓片上系统,从而大大缩

小了体积,易于管理和屏蔽。

2硬件描述语言(HDL)

常用的硬件描述语言有VHDL、Verilog、ABELo

■VHDL:作为IEEE的工业标准硬件描述语言,在

电子工程领域,已成为事实上的通用硬件描述语言。

■Verilog:支持的EDA工具较多,适用于RTL级

(寄存器转换级)和门电路级的描述,其综合过程

较VHDL稍简单,但其在高级描述方面不如VHDL。

■有专家认为,在新世纪中,VHDL与Verilog语言将

承担几乎全部的数字系统设计任务。

3软件开发工具

目前比较流行的、主流厂家的EDA的软件工具有:

■Altera的MAX+plusII、升级版QuartusH;

■Lattice的ispEXPERT;

■Xilinx的FoundationSeries。

■MAX+plusII是Altera公司开发的EDA工具软件。

Altera公司是世界上最大的可编程逻辑器件供应商之一。

MAX+plusII软件是一个集成化的可编程逻辑器件开发

环境,设计者能在这个环境下进行逻辑设计,完成设计

文件的输入编辑、编译、仿真、综合、布局布线和编程

下载等设计工作。软件界面友好、方便易学、功能全面,

是非常流行的大众化EDA平台。

■MAX+plusII:支持原理图、VHDL和Verilog语

言文本文件,以及以波形与EDIF等格式的文件作

为设计输入,并支持这些文件的任意混合设计。

■它具有门级仿真器,可以进行功能仿真和时序仿

真,能够产生精确的仿真结果。

■在适配之后,MAX+plusII生成供时序仿真用的

EDIF、VHDL和Verilog这三种不同格式的网表文

件。

■它界面友好,使用便捷,被誉为业界最易学易用

的EDA的软件,并支持主流的第三方EDA工具,

支持所有Altera公司的FPGA/CPLD大规模逻辑器

件。

4实验开发系统

提供芯片下载电路及EDA实验/开发的外围资

源(类似于用于单片机开发的仿真器),供硬件验

证用。一般包括:

①实验或开发所需的各类基本信号发生模块,

包括时钟、脉冲、高低电平等;

②FPGA/CPLD输出信息显示模块,包括数码显

示、发光管显示、声响指示等;

③监控程序模块,提供“电路重构软配置”;

④目标芯片适配座以及上面的FPGA/CPLD目标

芯片和编程下载电路。

自己阅读

1.2EDA软件系统的构成

■EDA技术研究的对象是电子设计的全过程,有系统级、

电路级和物理级3个层次的设计。

■涉及的电子系统从低频、高频到微波,从线性到非线性,

从模拟到数字,从通用集成电路到专用集成电路构造的

电子系统,因此EDA技术研究的范畴相当广泛。

■EDA软件系统应当包含以下子模块:

■设计输入子模块、

■设计数据库子模块、

■分析验证子模块、

■综合仿真子模块、

■布局布线子模块等。

自己阅读

(1)设计输入子模块;用户编辑输入模块的设计描

述,并进行语义正确性、语法规则的检查,检查通

过后,将用户的设计描述数据转换为EDA软件系统

的内部数据格式,存入设计数据库被其他子模块调

用。

■设计输入子模块不仅能接受图形描述输入、硬件描

述语言(HDL)描述输入,还能接受图文混合描述输

入。

■该子模块一般包含针对不同描述方式的编辑器,如

图形编辑器、文本编辑器等,同时包含对应的分析

珀-O

自己阅读

(2)设计数据库子模块:该模块存放系统提供的库单

元以及用户的设计描述和中间设计结果。

(3)分析验证子模块:该模块包括各个层次的模拟验

证、设计规则的检查、故障诊断等。

(4)综合仿真子模块:该模块包括各个层次的综合工

具,理想的情况是:从高层次到低层次的综合仿真

全部由EDA工具自动实现。

(5)布局布线子模块:该模块实现由逻辑设计到物理

实现的映射,因此与物理实现的方式密切相关。例

如,最终的物理实现可以是门阵列、可编程逻辑器

件等,由于对应的器件不同,因此各自的布局布线

工具会有很大的差异。

自己阅读

1.3EDA的工程设计流程

1源程序的编辑和编译

利用EDA技术进行一项工程设计,首先需利用EDA工

具的文本编辑器或图形编辑器将它用文本方式或图形方式

表达出来,进行排错编译,变成Verilog、VHDL文件格式,

为进一步的逻辑综合作准备。

常用的源程序输入方式有三种。

(1)原理图输入方式:利用EDA工具提供的图形编辑器以

原理图的方式进行输入。原理图输入方式比较容易掌握,

直观且方便,所画的电路原理图与传统的器件连接方式完

全一样,很容易被人接受,而且编辑器中有许多现成的单

元器件可以利用,自己也可以根据需要设计元件。

文本编辑器图形编辑器

0UHDL源程序

生成VHDL源程序

VHDL综合器

0网表文件

(EDIF,XNF,VHDL...)

行为仿真|逻辑综合、优化

VHDL

功能仿真

仿真器0

时序仿真FPGA/CPLD布线/适配器

熔丝图、SRAM文件、

VHDUVetilog网表

自动优化、布局、布线/适配◎

测试电路编程器K载电缆功能仿真

5**-**•门级

硬件测试0编程、下载时序仿真仿真器

(2)状态图输入方式:以图形的方式表示状态图进

行输入。当填好时钟信号名、状态转换条件、状

态机类型等要素后,就可以自动生成VHDL程序。

这种设计方式简化了状态机的设计,比较流行。

(3)Verilog>VHDL软件程序的文本方式:最一般

化、最具普遍性的输入方法,任何支持VHDL的

EDA工具都支持文本方式的编辑和编译。

2逻辑综合和优化

■将VHDL的软件设计与硬件的可实现性挂钩,需要

利用EDA软件系统的综合器进行逻辑综合。

■综合器的功能就是将设计者在EDA平台上完成的

针对某个系统项目的HDL、原理图或状态图形的描

述,针对给定硬件结构组件进行编译、优化、转换

和综合,最终获得门级电路甚至更底层的电路描述

文件。

■综合器工作前,必须给定最后实现的硬件结构参数,

它的功能就是将软件描述与给定硬件结构用某种网

表文件的方式联系起来。

■综合器是软件描述与硬件实现的一座桥梁。综合过

程就是将电路的高级语言描述转换成低级的,可与

FPGA/CPLD或构成ASIC的门阵列基本结构相映射

的网表文件。

自己阅读

1.4数字系统的设计方法

■数字系统设计有多种方法,如模块设计法、自顶向

下设计法和自底向上设计法等。

■数字系统的设计一般采用自顶向下、由粗到细、逐

步求精的方法。

■自顶向下是指将数字系统的整体逐步分解为各个子系

统和模块,若子系统规模较大,则还需将子系统进一

步分解为更小的子系统和模块,层层分解,直至整个

系统中各子系统关系合理,并便于逻辑电路级的设计

和实现为止。

■采用该方法设计时,高层设计进行功能和接口描述,

说明模块的功能和接口,模块功能的更详细的描述在

下一设计层次说明,最底层的设计才涉及具体的寄存

器和逻辑门电路等实现方式的描述。

采用自顶向下的设计方法有如下优点:

(1)自顶向下设计方法是一种模块化设计方法。对设计的描述从

上到下逐步由粗略到详细,符合常规的逻辑思维习惯。由于高层

设计同器件无关,设计易于在各种集成电路工艺或可编程器件之

间移植。

(2)适合多个设计者同时进行设计。随着技术的不断进步,许多

设计由一个设计者已无法完成,必须经过多个设计者分工协作完

成一项设计的情况越来越多。在这种情况下,应用自顶向下的设

计方法便于由多个设计者同时进行设计,对设计任务进行合理分

配,用系统工程的方法对设计进行管理。

针对具体的设计,实施自顶向下的设计方法的形式会有所不同,

但均需遵循以下两条原则:逐层分解功能,分层次进行设计。同

时,应在各个设计层次上,考虑相应的仿真验证问题。

自己阅读

第2章VerilogHDL语言

2.1VerilogHDL设计模块的基本结构

■VerilogHDL程序设计由模块(module)构成的,设计模块的基本结构如图,

一个完整的VerilogHDL设计模块包括端口定义、I/O声明、信号类型声明和

功能描述4个部分。

BCD_adders

一、模块端口的定义—AAC[33.-.-03SSUUMMCC33....0O3J—

COUT

■模块端口定义用来声明电路设计模块-BC3..0O3JCOUT-

的输入/输出端口,端口定义格式如下:—[C^IN___________________,

module模块名(端口1,端口2,端口3,…)注...

■在端口定义的括号中,是设计电路模块与外界联系的全部输入/输出端口信号

或引脚,是设计实体对外的一个通信界面,是外界可以看到的部分(不包含

电源和接地端),多个端口之间用”分隔。例如1位全加器adder模块的

端口定义为

■moduleadder(sum,cout,ina,inb,cin);模块名adder

二、模块内容

模块内容包括I/O声明、信号类型声明和功能描述。

(1)模块的I/O声明

模块的I/O声明用来声明模块端口定义中各端口数据流动方向,

括输入(input)、输出(output)和双向(inout)。I/O声明格式如一

input端口1,端口2,端口3,…;〃声明输入端口

output端口1,端口2,端口3,…;//声明输出端口

■例如,1位全加器的I/O声明为

inputina,inb,cin;

outputsum,cout;A|c/co|-co

B

(2)信号类型声明

■信号类型声明是声明设计电路的功能描述中所用的信号的数

据类型和函数。信号的数据类型主要有连线(wire)、寄存

器(reg)、整型(integer)、实型(real)、和时间

(time)等。

(3)功能描述

■功能描述是VerilogHDL程序设计中最主要的部分,用

来描述设计模块的内部结构和模块端口间的逻辑关系,在电

路上相当于器件的内部电路结构。功能描述可以用assign语

句、元件例化(instantiate)方式、always块语句、initial

块语句等方法来实现,通常将设计模块描述的方法称为建模。

①用assign语句建模

■用assign语句建模的方法很简单,只需要在“assign”后面再

加一个表达式。Assign语句一般适合对组合逻辑进行赋值,称

为连续赋值方式。ABCisCo

■例1一位全加器的设计00000

A-nt00110

01010

B-01101

LC0|—8

CI—10010

10101

■1位全加器的逻辑符号:11001

sum是全加器的和输出端,11111

cout是进位输出端,ina和inb是两个加数输入端,

cin是低位进位输入端。

■全加器的VerilogHDL源程序如下:

moduleadded(sum,cout,ina,inb,cin);

inputina,inb,cin;

outputsum,cout;

assign{cout,sum}=ina+inb+cin;

co

endmodule

“assign{cout,sum}=ina+inb+cin;''语7句实现1

位全加器随进位输出cout写和输出sum的建模。

■在语句表达式中,用拼接运算符“{}”将cout、sum这

两个1位操作数拼接为一个2位操作数。

②用元件例化(instantiate)方式建模

■元件例化方式建模是利用VerilogHDL提供的元件库实现的。

例如,用与门例化元件定义一个三输入端与门可以写为

■andmyand3(y,a,b,c);and是VerilogHDL元件库中与门元件

名,myand3是例化出的三输入端与门名,y是写门输由端,a、

b、c是输入端。

③用always块语句建模

■always块语句可以产生各种逻辑,常用于时序逻辑的功能

描述。一个程序设计模块中,可以包含一个或多个always语句。

程序运行中,在某种条件满足时,就重复执行一遍always结构

中的语句。

例28位二进制加法计数器的设计_也

■8位二进制加法计数器的逻辑符号如图。是谖二COUT

进OUTO

■OUT是8位二进制计数器的输出端(8位CLR一

向量);苗二制OUT1

OUT2

■COUT是进位输出端(1位);D2-OUT3

法OUT4

■DATA是并行数据输入端(8位向量);北二计OUT5

OUT6

■LOAD是计数器的预置控制输入端,万一数OUT7

t,D6—

■当LOAD=1时,OUT=DATA;D7_

■CLK是时钟控制输入端,上升沿为有效CIN-

边沿;

■CLR是同步复位输入端,当CLK的上升

沿到来时且CLR=1,则计数器被复位,

OUT=OOOOOOOOo

(逻辑符号图是由计算机对计数器电路的VerilogHDL源代码

编译后产生的元件符号,图中的输入/输出标识符自动被改为大

写,而源程序中的标识符都是小写。)

8位二进制加法计数器的VerilogHDL源程序如下:

modulecnt8(out,cout,dataJoad,cin,elk,clr)

input[7:0]data;

LOAD二

inputload,cin,elk,clrCLK—COUT

output[7:0]out;CLR—进OUTU

制OUT1

outputcout;D0—

D1—

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论