380 likes | 719 Views
电å电路 EDA. æ•™å¦ç›®çš„. 掌æ¡ä¸€é—¨è®¾è®¡è¯è¨€ (VHDL) 熟悉一ç§è®¾è®¡å·¥å…· (MAX+plusII) 了解一类器件 (PLD). æ•™æ :《EDA 技术实用教程》 æ½˜æ¾ é»„ç»§ä¸š 科å¦å‡ºç‰ˆç¤¾ å‚考书: 《 VHDL è¯è¨€ç¨‹åºè®¾è®¡åŠåº”用》姜立东 北京邮电大å¦å‡ºç‰ˆç¤¾ 《 EDA 技术åŠåº”用》è°ä¼šç”Ÿç‰ 西安电å科技大å¦å‡ºç‰ˆç¤¾ 《 CPLD 技术åŠå…¶åº”用》宋万æ°ç‰ 西安电å科技大å¦å‡ºç‰ˆç¤¾. å¦æ—¶åˆ†é…: ã€€ã€€ã€€è¯¾å ‚æ•™å¦ï¼š32å¦æ—¶    实验:16å¦æ—¶. æœŸæœ«è€ƒæ ¸ï¼š  平时(出勤ã€ä½œä¸šã€å®žéªŒåŠå®žéªŒæŠ¥å‘Šï¼‰30%  期末考试70%.
E N D
教学目的 掌握一门设计语言(VHDL) 熟悉一种设计工具(MAX+plusII) 了解一类器件(PLD) 教材:《EDA技术实用教程》 潘松 黄继业 科学出版社 参考书: 《VHDL语言程序设计及应用》姜立东 北京邮电大学出版社 《EDA技术及应用》谭会生等 西安电子科技大学出版社 《CPLD技术及其应用》宋万杰等 西安电子科技大学出版社
学时分配: 课堂教学:32学时 实验:16学时 期末考核: 平时(出勤、作业、实验及实验报告)30% 期末考试70%
第一章 绪论 • EDA技术及其发展 • EDA技术实现目标 • EDA主要内容 • 学习方法
1. EDA技术的概念 EDA(Electronic Design Automation)技术 以计算机为工作平台, 以EDA工具软件为开发环境, 以硬件描述语言为描述手段, 以可编程逻辑器件为硬件载体, 自动完成逻辑编译、逻辑化简、逻辑分割、逻辑综合、布局布线,以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。
2. EDA技术实现目标 一般地,利用EDA技术进行电子系统设计,最后的目标是完成专用集成电路ASIC的设计和实现。 • ASIC(Application Specific Intergrated Circuits)即专用集成电路,是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。 • 目前用CPLD(复杂可编程逻辑器件)和FPGA(现场可编程逻辑阵列)来进行ASIC设计是最为流行的方式之一 EDA工具 硬件 软件
超大规模可编程逻辑器件 也称为可编程ASIC,FPGA和CPLD是主流器件 • 半定制或全定制ASIC 统称为掩模ASIC • 混合ASIC 主要是指既具有面向用户的FPGA可编程功能和逻辑资源,同时也含有可方便调用和配置的硬件标准单元模块,如CPU、RAM、ROM ASIC可以通过三种途径来完成
3. EDA的主要内容 (1)硬件描述语言HDL (Hardware Description Language) 借助HDL,设计者可以在比较抽象的层次上描述某设计的结构和内部特征。 优点: 语言的公开可利用性; 设计与工艺的无关性; 宽范围的描述能力; 便于组织大规模系统的设计; 便于设计的复用和继承等。
常用的有VHDL(Very high speed integrated circuit HDL)和VeriLog HDL VHDL是超高速集成电路HDL,是美国国防部20世纪80年代初为实现其高速集成电路计划提出的一种HDL VeriLog HDL是Gateway Design Automation公司(该公司于1989年被Cadence公司收购, cadence公司是全球NO.1的EDA软件公司。成立于1988年。) 两者都已成为IEEE(美国电气与电子工程师协会)标准。 IEEE:The Institute of Electrical and Electronics Engineers(I treble E)
(2) 工具软件 Altera: MAX+plusII→QuartusII Xilinx: Foundation Sries Lattice: ispExpert (中文名称: 莱迪斯)
(3) PLD CPLD: Complex Programmable Logic Device FPGA: Field Programmable Gate Array
4. 学习方法 VHDL为主要内容; MAX+plusII主要在实验中熟练掌握 PLD作一般了解 VHDL的学习是通过一些典型实例先从整体上建立概念,并了解其中所涉及的语法现象,最后再系统地学习各种语法、句法等。
第二章 VHDL设计初步 通过三个实例学习VHDL中基本电路的设计方法
1. 2选1多路选择器的VHDL描述 示意图: 真值表: a mux21 y b s 输入 输出 s y 0 a 1 b 逻辑表达式: y=as+bs
2. 分析 (1)整体结构(设计实体)分为两部分: VHDL描述 ENTITY mux21 IS PORT(a,b: IN Bit; s: IN Bit; y: OUT Bit); END [ENTITY] mux21; --实体说明 ARCHlTECTURE behv OF mux21 IS BEGlN y<=a WHEN s=‘0’ ELSE b; END [ARCHITECTURE] behv;--结构体描述 实体说明 结构体
(2)实体说明 描述电路器件的端口构成及信号属性
实体名 ENTITY mux21 IS PORT(a,b: IN Bit; s: IN Bit; y: OUT Bit); END [ENTITY] mux21; VHDL-93的语法要求
端口名表 ENTITY mux21 IS PORT(a,b: IN Bit; s: IN Bit; y: OUT Bit ); END [ENTITY] mux21; 端口名称 端口名表用于说明: 端口模式 数据类型
IN OUT BUFFER INOUT 端口模式: 符号: 示意图:
数据类型: 任何一种数据对象(信号、变量、常量)都必须严格限定其取值类型和范围。 Bit是位数据类型,其取值范围是’1’和’0’。 注意:这里的’1’和’0’均有单引号。
实体说明的一般形式: ENTITY 实体名 IS PORT (端口名:端口模式 数据类型[; 端口名:端口模式 数据类型]); END [ENTITY] 实体名;--ENTITY是VHDL-93的语法要求
(3)结构体 描述电路器件的功能
结构体名 实体名 ARCHlTECTURE behv OF mux21 IS BEGlN y<=a WHEN s=‘0’ ELSE b; END [ARCHITECTURE] behv; behv y<=a WHEN s=‘0’ ELSE b; behv 并行信号赋值语句
结构体的一般形式: ARCHITECTURE 结构体名OF 实体名 IS [说明语句;] BEGIN [功能描述语句;] END [ARCHITECTURE] 结构体名;
(4)语句分析 y<=a WHEN s=‘0’ ELSE b;--条件信号赋值语句 <=:信号赋值符 = :比较运算符 一般形式: 目的信号 <= 表达式1 WHEN 条件1 ELSE 表达式2 WHEN 条件2 ELSE …… 表达式n-1 WHEN 条件n-1 ELSE 表达式n;
(5)标识符命名规则 标识符可以是常数、变量、信号、端口、子程序或参数的名字。
(5)标识符命名规则 VHDL基本标识符的书写需遵守如下规则: • VHDL中标识符由通常由字母、数字和下划线组成; • 第一个字符必须是字母,最后一个字符不能是下划线; • 下划线不能连用; • 不区分大小写; • 命名不能与保留字相同。 • 以双连字符(--)开始直到行末的文字为注释。
举例 合法 合法 合法 非法 非法 非法 非法 非法 非法 decoder_1 FFT state0 _decoder_1 2FFT sig_#n Not-Ack rYY_ return
(6)书写约定 • 书写和输入程序时,使用层次缩进格式。 • 避免使用长的表达式。 • 一般情况下, 保留字(关键字)使用大写字母, 自定义的各种标识符使用小写字母, 预定义的数据类型可以采用在大写字母打头后 跟小写字母的标识符。 • 使用注释和标号等。 • 自定义标识符、文件名等使用一些有意义的名称,尽量不使用如aaa、bbb等。
1. 逻辑表达式(布尔方程): ARCHlTECTURE one OF mux21 IS BEGlN END [ARCHITECTURE] one; y<=(a AND (NOT s)) OR (b AND s); AND、NOT、 OR为逻辑运算符
ARCHlTECTURE two OF mux21 IS BEGlN END [ARCHITECTURE] two; 2. IF语句(顺序语句) PROCESS(a,b,s) BEGIN IF s=‘0’ THEN y<=a; ELSE y<=b; END IF; END PROCESS;
PROCESS语句 敏感信号表 通常是进程中所有的输入信号 PROCESS(a,b,s) BEGIN …… END PROCESS; PROCESS是并行语句,其执行过程是: 敏感信号发生变化启动进程,顺序执行其中的语句,进行等待状态,直到敏感信号再次变化。
4. 文件取名与存盘 (1)文件名一般与设计实体名相同; (2)存盘时扩展名要根据工具软件的要求。如MUX+plusII要求 扩展名为.vhd。 (3)存放位置:在指定的工程目录中,系统默认为是WORK库。
本节小结(1) • 设计实体:完整的VHDL设计,包含两部分 • 实体说明:描述器件的端口特性 • 结构体: 描述器件的功能 • 端口定义:端口名、数据流动方向及数据类型 • 端口模式:描述端口的数据流向 • 数据类型:数据对象承载的数据类别 • 信号赋值符:“<=”,用于信号数据的传输,有延迟 • 比较运算符:“=”,相同数据类型的数据对象进行数值比较
本节小结(2) • 逻辑操作符:在逻辑操作符的作用下可构成组合电路。AND、OR、NOT • IF语句:是顺序语句 • 进程语句:PROCESS,是并行语句 • 顺序语句:仿真时与书写顺序有关,只能在进程等中出现 • 并行语句:在结构体中以并行方式执行的语句 • 文件取名:与实体名一致 • 文件存盘:必须存于指定的工程目录中,此目录将被设定为WORK库
练习 示意图: 真值表: a0 q a1sel 输入 输出 sel q 0 a0+a1 1 a0a1