电子设计自动化技术 张鹰微固学院 Email: zhangyinQuestc. edu. cn 课程内容安排: 了解数字集成电路的结构特点 掌握常用BDA工具的基本使用方法 掌握VHDL的基本语法和主要编程要点 掌握常用数字单元电路的ⅦDL设计 了解数字集成系统的基本设计方法 教材: Digital Design--Principles Practices第三版 John F. Wakerly高等教育出版社(2001) 节选相关内容) 参考书: 现代电子技术一VHDL与数字系统设计 杨刚龙海燕电子工业出版社(2004) VHDL数字电路设计教程 巴西] Volnei a. Pedroni著 乔庐峰王志功等译电子工业出版社(2005) 考核方式 内容:基本概念与基本功能器件的设计编程
电子设计自动化技术 张鹰 微固学院 Email: zhangyin@uestc.edu.cn 课程内容安排: 了解数字集成电路的结构特点 掌握常用 EDA 工具的基本使用方法 掌握 VHDL 的基本语法和主要编程要点 掌握常用数字单元电路的 VHDL 设计 了解数字集成系统的基本设计方法 教材:Digital Design—Principles & Practices 第三版 John F.Wakerly 高等教育出版社 (2001) (节选相关内容) 参考书: 现代电子技术—VHDL 与数字系统设计 杨刚 龙海燕 电子工业出版社(2004) VHDL 数字电路设计教程 [巴西]Volnei A.Pedroni 著 乔庐峰 王志功 等译 电子工业出版社(2005) 考核方式: 内容:基本概念与基本功能器件的设计编程
方式:平时作业与试卷相结合 平时作业 考试试卷 70% 概述 数字集成电路的发展 自20世纪60年代以来遵循摩尔定律,每1.5年集成度与速度提高一倍 从简单的门电路到复杂的数字系统,系统复杂程度急剧提高 sI(1-20 gates)基本单元组合(P.13) MSI(20200)简单功能电路:译码器、数据选择器、寄存器、计数器 LI(20020万)小规樸系统组件:存储器、微处理器、可编程逻辑器件 ⅥLSI(可达上亿)大规模系统组件或小型系统 数字集成电路的设计特点 电路复杂程度高,开发时间长; 必须分层次进行开发设计:T0P-D0WN 系統设计系统描述:芯片功能、性能、成本、尺寸等 功能设计功能级描述:功能框图、时序图等 逻輯设计逻輯描述:逻輯电路图 电路设计电路描述:电路图、门级网表 版图设计版图网表 芯片制造 封装测试
方式:平时作业与试卷相结合 平时作业 30% 考试试卷 70% 概述 数字集成电路的发展 自 20 世纪 60 年代以来遵循摩尔定律,每 1.5 年集成度与速度提高一倍。 从简单的门电路到复杂的数字系统,系统复杂程度急剧提高。 SSI (1—20gates) 基本单元组合 (P.13) MSI(20—200) 简单功能电路:译码器、数据选择器、寄存器、计数器 LSI(200—20 万) 小规模系统组件:存储器、微处理器、可编程逻辑器件 VLSI(可达上亿) 大规模系统组件或小型系统 数字集成电路的设计特点 电路复杂程度高,开发时间长; 必须分层次进行开发设计:TOP-DOWN 系统设计 系统描述:芯片功能、性能、成本、尺寸等 功能设计 功能级描述:功能框图、时序图等 逻辑设计 逻辑描述:逻辑电路图 电路设计 电路描述:电路图、门级网表 版图设计 版图网表 芯片制造 封装测试
目标:短周期、低成本、高性能 方棠:层次化模块化、标准化、BDA工具 电学 双晶体管电路 反相器 组合和时序逻辑电路 规则结构 vLSI千系统 ROM, RAM. PLA 加法器.乘法器 系统相关问题:可靠性,可制造性,可测试性 科目广度 硬件描述语言(HDL) 采用文本形式进行程序设计,包含许多具有硬件特征的语句,主要用于描 述数字系统的结构、功能、行为和接口,能够支持电路硬件的设计、验证、综 合和测试;设计与具体工艺无关,适合于多层次大规樸设计,具有良好的开放 性和并行设计能力、便于交流保存共享。 数字集成电路的设计简例 4位加法器的设计
目标:短周期、低成本、高性能 方案:层次化模块化、标准化、EDA 工具 硬件描述语言(HDL) 采用文本形式进行程序设计,包含许多具有硬件特征的语句,主要用于描 述数字系统的结构、功能、行为和接口,能够支持电路硬件的设计、验证、综 合和测试;设计与具体工艺无关,适合于多层次大规模设计,具有良好的开放 性和并行设计能力、便于交流保存共享。 数字集成电路的设计简例 4 位加法器的设计
add4 C s40 a[3. 0 b[3: 0] 可以采用4个全加器构成串行加法器 u2 例题程序 library ieee use ieee. std-logic-1164 all; use ieee. std-logic-arith all; entity add4 is port (a, b: in std-logic- vector( 3 downto 0) ci: in std-logic; 8: out std-logic- vector(4 downto 0)) end add4; architecture dat of add4 is signal c: std-logic vector(2 downto 0) port (a, b, ci: in stdlogic 8, co: out std-logic rt map(a(0),b(0),ci,s(0),c(0)
可以采用 4 个全加器构成串行加法器 例题程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; entity add4 is port (a,b: in std_logic_vector( 3 downto 0 ); ci : in std_logic; s : out std_logic_vector(4 downto 0)); end add4; architecture dat of add4 is signal c: std_logic_vector(2 downto 0); component fa is port (a,b,ci: in std_logic; s,co : out std_logic); 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),8(2),c(2)); u4: fa port map(a(3),b(3),c(2),8(3),8(4)); nd dat 全加器门级设计: s=abbe co=ab+ac+bc fa a library ieee; use ieee. std-logic-1164all; entity fa is port (a, b, ci: in std-logic s, co: out std-logic); architecture dat of fa is begin <- or b xor ci co<=a and b)or (a and ci)or (b and ci) end da 为了使设计能够更直接地反映晶体管电路的构成,应该将异或门用基本的与门 和或门替代:s=abc+abc'+ab'+a'bc'+a'bc
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 dat; 全加器门级设计: ⊕⊕= cbas = + + bcacabco library ieee; use ieee.std_logic_1164.all; entity fa is port (a,b,ci: in std_logic; s,co : out std_logic); end fa; architecture dat of fa is begin s<=a xor b xor ci; co<=(a and b) or (a and ci) or (b and ci); end dat; 为了使设计能够更直接地反映晶体管电路的构成,应该将异或门用基本的与门 和或门替代: = + ′ ′ + ′ ′ + ′ ′ + ′ ′cbacbacbacbaabcs
s<-(a and b and ci or a and not b and not ci or (not a and b and not ci or (not a and not b and ci); 为了减少晶体管的使用量,考虑两个输出函数的公共部分,可以将输出改写为 co= ab+ac+bc s=abc+(a+b+c)co architecture dat of fa is signal c: stdlogic; c<=(a and b)or (a and ci) or (b and ci: co<=c: s<=(a and b and ci)or((a or b or ci)and not c); end da
s<=(a and b and ci) or (a and not b and not ci) or (not a and b and not ci) or (not a and not b and ci); 为了减少晶体管的使用量,考虑两个输出函数的公共部分,可以将输出改写为: ++= bcacabco = + + + )( occbaabcs ′ architecture dat of fa is signal c:std_logic; begin c<=(a and b) or (a and ci) or (b and ci); co<=c; s<=(a and b and ci) or ((a or b or ci)and not c); end dat;
对应的全加器晶体管电路图(采用全对偶方式) 对应的电路版图 IEa VDD 4位加法器版图 采用0.8um工艺条件时,该电路面积约为160*100um
对应的全加器晶体管电路图(采用全对偶方式) 对应的电路版图 4 位加法器版图 采用 0.8um 工艺条件时,该电路面积约为 160*100um
非详泄距洋 时: vDD b面