VHDL语言与数字集成电路设计 电子科技大学 张鹰
Very high speed integration circuits Hardware Description Language 第一章 概述 VHDL Very high speed integration circuits Hardware Description Language 一种集成电路的硬件描述语言; 用于进行数字集成电路的设计;
数字集成电路 数字逻辑电路,通常由基本门电路构成;在一块半导体芯片上设计制作; 目前以CMOS工艺为主进行制备; 在信息技术领域得到广泛的应用。
数字集成电路的发展 从上世纪60年代开始发展,每3年集成度与速度提高2倍。 从简单的门电路到复杂的数字系统,系统复杂程度急剧提高。
VLSI(可达上亿) 大型系统组件或小型系统 数字集成电路的发展 SSI (1—20gates) 基本单元组合 (P.13)MSI(20—200) 简单功能电路: 译码器、数据选择器、寄存器、计数器 LSI(200—20万) 小规模系统组件: 存储器、微处理器、可编程逻辑器件 VLSI(可达上亿) 大型系统组件或小型系统 SOC:Systems on chip !
数字集成电路的设计
数字集成电路的设计特点 电路复杂程度高,开发时间长; 目标:短周期、低成本、高性能 方案:层次化、模块化、标准化 自顶至下的多层次设计:TOP-DOWN
数字集成电路的设计层次 系统设计 系统描述:芯片功能、性能、 成本、尺寸等 功能设计 功能级描述:功能框图、时序 图等 系统设计 系统描述:芯片功能、性能、 成本、尺寸等 功能设计 功能级描述:功能框图、时序 图等 逻辑设计 逻辑描述:逻辑电路图 电路设计 电路描述:电路图、门级网表 版图设计 版图网表
设计交流的语言:HDL 采用文本形式进行程序设计,便于编写和修改; 具有硬件特征的语句,可以描述数字系统的结构、功能、行为和接口; 全面支持电路硬件的设计、验证、综合和测试;设计与具体工艺无关,适合于多层次设计; 具有良好的开放性和并行设计能力、便于交流保存共享。
一个简单数字电路的设计描述 4位加法器标准模块:a+b+ci=s 3组输入,1组输出;
4位加法的实现过程 可以采用4个全加器模块(FA)连接实现; 每个模块有3个输入,2个输出;
采用实体(entity)描述模块的外部端口 VHDL对电路模块的描述 entity add4 is port (a,b: in bit_vector( 3 downto 0 ); ci : in bit; s : out bit_vector(4 downto 0)); end add4; 采用实体(entity)描述模块的外部端口
VHDL对电路内部结构的描述 采用结构体(archtecture)描述模块的内部连接关系 architecture str of add4 is signal c: bit_vector(2 downto 0); component fa is port (a,b,ci: in bit; s,co : out bit); end component; begin u1:fa port map (a(0),b(0),ci,s(0),c(0)); u2:fa port map (a(1),b(1),c(0),s(1),c(1)); u3:fa port map (a(2),b(2),c(1),s(2),c(2)); u4:fa port map (a(3),b(3),c(2),s(3),s(4)); end str; 采用结构体(archtecture)描述模块的内部连接关系
对上述描述程序的电路综合 程序准确体现了希望实现的电路结构
全加器的设计 VHDL不仅可以通过连线描述进行电路设计,也可以通过运算关系或电路的行为特征进行电路设计。 根据数字电路的基本知识,全加器的功能可以由下列逻辑运算描述:
全加器的VHDL程序 entity fa is port (a,b,ci: in bit; s,co : out bit); end fa; architecture rtl of fa is begin s<=a xor b xor ci; co<=(a and b) or (a and ci) or (b and ci); end rtl;
全加器VHDL程序的综合结果
对全加器电路描述的修改 在CMOS电路结构中,3输入异或门不是一个基本单元器件,为了使设计能够更直接地反映晶体管电路的构成,可以将该计算采用两输入逻辑替代,设置一个中间信号表达2个输入量的异或,然后再将其与第3个变量进行异或;
对全加器电路描述的修改 architecture rtl of fa is signal s1:bit; Begin -- s<=a xor b xor ci; s1<=a xor b;s<=s1 xor ci co<=(a and b) or (a and ci) or (b and ci); end rtl; 只是改变结构体中的相应描述语句
修改后电路的综合结果 通过简单改变VHDL的语句,就可以改变电路中使用的逻辑单元和连接方式。
电路基本单元的结构 考虑到晶体管级和版图级的性能优化问题,异或门可以采用传输门结构实现,而“与-或”结构则通常采用与非门实现。
数字集成电路的优化设计 在系统一级,需要考虑使功能模块的数量最小化,减少相互连线; 在功能模块一级,需要考虑逻辑单元的使用量和运算速度问题; 对于逻辑单元,则需要考虑基本单元的使用及其连接方式; 晶体管级和版图的优化则限制着基本逻辑单元的规模。
数字集成电路设计的基本条件 熟悉电路的基本结构,设计方法和设计流程; 掌握硬件描述语言的特点和描述方法; 掌握相关综合工具和仿真工具的应用。
本课程内容安排 了解数字集成电路的结构特点 了解数字集成系统的基本设计方法 掌握常用EDA工具的基本使用方法 掌握VHDL的基本语法和主要编程要点 掌握常用数字单元电路的VHDL设计特点
教材 Digital Design —Principles & Practices (第三版) John F.Wakerly 高等教育出版社 (2001) (节选相关内容)
参考书 现代电子技术—VHDL与数字系统设计 杨刚 龙海燕 电子工业出版社(2004) VHDL数字电路设计教程 杨刚 龙海燕 电子工业出版社(2004) VHDL数字电路设计教程 [巴西]Volnei A.Pedroni 著 乔庐峰 王志功 等译 电子工业出版社(2005)