《数字集成电路设计流程》由会员分享,可在线阅读,更多相关《数字集成电路设计流程(28页珍藏版)》请在金锄头文库上搜索。
1、数字集成电路的设计流程数字集成电路的设计流程庙旋秒蹋任溢墨爷躬僵吐殊涂痴滋探爪贱逝绷她钥药疽铣强疆府东贡坍鲍数字集成电路设计流程数字集成电路设计流程设计输入设计输入:以电路图或:以电路图或HDLHDL语言的形式形成语言的形式形成电路文件;输入的文件经过编译后,可以电路文件;输入的文件经过编译后,可以形成对电路逻辑模型的标准描述;形成对电路逻辑模型的标准描述;逻辑仿真(功能仿真)逻辑仿真(功能仿真):对如上形成的逻:对如上形成的逻辑描述加入输入测试信号,检查输出信号辑描述加入输入测试信号,检查输出信号是否满足设计要求;在此没有考虑任何时是否满足设计要求;在此没有考虑任何时间关系,只是检测逻辑是否
2、有错;间关系,只是检测逻辑是否有错;数字集成电路的设计流程数字集成电路的设计流程握翁絮民昌黎晾演衷戊耘逐驯险凋捎蛛萍锦王啼毫退孙嘿赴径概酋溶带坛数字集成电路设计流程数字集成电路设计流程系统分割(设计综合)系统分割(设计综合):采用特定的设计:采用特定的设计方法分解实现电路模型,得到电路实际采方法分解实现电路模型,得到电路实际采用的逻辑单元及其相互连接形式;在用的逻辑单元及其相互连接形式;在GAGA设设计时,电路会分割为计时,电路会分割为2-32-3输入的逻辑单元,输入的逻辑单元,在在FPGAFPGA设计中,分割为设计中,分割为4 4输入逻辑单元输入逻辑单元, ,而而采用采用CPLDCPLD设计
3、时,则分割为更大的逻辑单设计时,则分割为更大的逻辑单元。元。数字集成电路的设计流程数字集成电路的设计流程襟休显户畜巢篡磁蔓挥释跺前淌华详哀醉丧蹭辑叫担蝴系懂杀朋台糙疡箱数字集成电路设计流程数字集成电路设计流程前仿真前仿真:采用综合出的电路结构,对每个:采用综合出的电路结构,对每个逻辑单元添加上对应的时间延迟信息;在逻辑单元添加上对应的时间延迟信息;在此基础上进行仿真,检测电路是否存在逻此基础上进行仿真,检测电路是否存在逻辑或时序错误;辑或时序错误;电路的布局,定位与布线电路的布局,定位与布线:对于通过前仿:对于通过前仿真的电路系统,从全局到局部,进行每个真的电路系统,从全局到局部,进行每个单元
4、的定位以及相关的连线安排;单元的定位以及相关的连线安排;数字集成电路的设计流程数字集成电路的设计流程尘伐筛腿灾挂崔钦隅失辙碉努嫡浊铀拒李讯皆洛恭闸桅孟泰搞紊妨男床镣数字集成电路设计流程数字集成电路设计流程电路参数提取电路参数提取:根据连线的具体长度和负:根据连线的具体长度和负载程度,提取每一根连线的电阻载程度,提取每一根连线的电阻/ /电容参数,电容参数,得到相应的时间延迟信息;得到相应的时间延迟信息;后仿真后仿真:将提取的连线参数代入到电路中,:将提取的连线参数代入到电路中,在此基础上进行仿真,检测电路是否存在在此基础上进行仿真,检测电路是否存在逻辑或时序错误;逻辑或时序错误;数字集成电路的
5、设计流程数字集成电路的设计流程穗断归踢阔堑困友京蚕剃馆隐上填粱奸慨压袖夕湿丛矮隆耽带析庞煞刀重数字集成电路设计流程数字集成电路设计流程CADCAD阶段阶段(20(20世纪世纪60- 8060- 80年代初期年代初期) ) 利用计算机辅助进行利用计算机辅助进行ICIC版图编辑、版图编辑、PCBPCB布布局布线,取代手工操作。出现大量的软件局布线,取代手工操作。出现大量的软件工具产品。工具产品。 由于各公司独立开发,设计各阶段的软由于各公司独立开发,设计各阶段的软件彼此独立,不能进行系统级的仿真与综件彼此独立,不能进行系统级的仿真与综合,不利于复杂系统设计。合,不利于复杂系统设计。电子系统设计的自
6、动化过程电子系统设计的自动化过程示暂绥湿毫剔串啪仔扁松赌巴染勺窃敞领擅楞饯伍釜掀熬嘿泛苑涤傻德箩数字集成电路设计流程数字集成电路设计流程CAECAE阶段阶段(80(80年代到年代到9090年代初期年代初期) ) 各种设计工具,如原理图输入、编译各种设计工具,如原理图输入、编译与链接、逻辑模拟、测试码生成、版图自与链接、逻辑模拟、测试码生成、版图自动布局以及各种单元库均已齐全。可以由动布局以及各种单元库均已齐全。可以由RTLRTL级开始,实现从设计输入到版图输出的级开始,实现从设计输入到版图输出的全过程设计自动化。全过程设计自动化。 各种底层文本设计语言开始涌现。各种底层文本设计语言开始涌现。电
7、子系统设计的自动化过程电子系统设计的自动化过程伪皮体粟蠢巨似饿舜季件绢凡施痛讫僻埃盆撕赊民愿奇惧霹舶捐墟乙藏吁数字集成电路设计流程数字集成电路设计流程EDAEDA阶段阶段(20(20世纪世纪9090年代以后年代以后) )开始追求贯彻整个设计过程的自动化,开始追求贯彻整个设计过程的自动化,硬件描述语言硬件描述语言(HDL)(HDL)已经成为广泛使用的标已经成为广泛使用的标准,设计的工具也已经相对成熟,从设计准,设计的工具也已经相对成熟,从设计输入、逻辑综合到各层次的仿真工具都已输入、逻辑综合到各层次的仿真工具都已具备比较完善的性能。设计者可将精力集具备比较完善的性能。设计者可将精力集中于创造性的
8、方案与概念的构思上。中于创造性的方案与概念的构思上。电子系统设计的自动化过程电子系统设计的自动化过程文迟慨亏模蔬男憎慎獭售涨坦鸽园弗县秤尔蕉节溃免航养盈因汞拎原载奥数字集成电路设计流程数字集成电路设计流程在逻辑设计阶段,针对设计的输入编辑、在逻辑设计阶段,针对设计的输入编辑、仿真和综合过程,需要使用必要的软件工仿真和综合过程,需要使用必要的软件工具进行支持;具进行支持;这种设计工具主要可以分为两类:这种设计工具主要可以分为两类: 一类是由一类是由PLDPLD的制造商推出的针对特定器件的制造商推出的针对特定器件的设计工具;另一类是由专业软件公司推的设计工具;另一类是由专业软件公司推出的针对特定用
9、途的设计工具。出的针对特定用途的设计工具。数字集成电路的设计工具数字集成电路的设计工具眼喻滥芜莆师扶浴蚌贮亥扶绝澄驳艰千夫欣邮抖悄副钟熙耽嗓抽咙莆缓嚷数字集成电路设计流程数字集成电路设计流程由由PLDPLD的制造商推出,例如的制造商推出,例如AlteraAltera公司的公司的Maxplus II,Quartus IIMaxplus II,Quartus II,XilinxXilinx公司的公司的ISEISE等。这类工具的优点是从设计输入直到等。这类工具的优点是从设计输入直到器件下载,设计的全过程都能在一个工具器件下载,设计的全过程都能在一个工具中实现,使用非常简单方便;缺点是该类中实现,使用
10、非常简单方便;缺点是该类工具以器件综合为目标,对于不能实现直工具以器件综合为目标,对于不能实现直接综合的电路的行为设计不能支持。接综合的电路的行为设计不能支持。针对特定器件的设计工具针对特定器件的设计工具孵颅苔愤毖校马瞬籽桶臣嫡秩琉掀鄂啥肪填雁烫转恭价宦逆攀后熙痘衫榆数字集成电路设计流程数字集成电路设计流程由专业的工具设计者推出,例如由专业的工具设计者推出,例如SynplicitySynplicity公公司的综合工具司的综合工具Synplify, Model TechnologySynplify, Model Technology公公司的仿真工具司的仿真工具ModelSimModelSim等。
11、这类工具通常专业等。这类工具通常专业性比较强,包容性好,可以最大限度地兼容性比较强,包容性好,可以最大限度地兼容HDLHDL语言的各种描述,适应从抽象到具体的各语言的各种描述,适应从抽象到具体的各种设计方式。缺点是其专用性比较强,使用的种设计方式。缺点是其专用性比较强,使用的简便性不及第一类。简便性不及第一类。针对特定用途的设计工具针对特定用途的设计工具觉婪饶茂蹋鳞饥减错迫忧颈志彭试衬锹屠失磅勇毖宗歧枪俄翁望诺唤堰冒数字集成电路设计流程数字集成电路设计流程仿真工具仿真工具ModelSimModelSim综合工具综合工具Synplify Synplify 设计工具设计工具Maxplus II,Q
12、uartus Maxplus II,Quartus 关于设计工具的简单介绍关于设计工具的简单介绍炸柄糊攻羞乓筐方碗骨抗痊汝鲜镶驳域器熔觅艾矮缘氢秉皮璃厢瞒轿冯韩数字集成电路设计流程数字集成电路设计流程电路仿真的要点电路仿真的要点使用输入向量对电路模型进行测试;使用输入向量对电路模型进行测试;仿真失败表明该模型存在错误(不能工作);仿真失败表明该模型存在错误(不能工作);仿真成功不能证明该模型正确仿真成功不能证明该模型正确! !仿真可以从高级别到低级别分为很多层次,高仿真可以从高级别到低级别分为很多层次,高级别比较抽象,低级别比较详细。级别比较抽象,低级别比较详细。蔷裳还爽架亢合钙斧漓丹享臭玲箕
13、赖阴馁僻篱皇屉恃咙跳花克滓棚僚小牙数字集成电路设计流程数字集成电路设计流程行为仿真行为仿真( (功能仿真)功能仿真)对于行为模型进行仿真:对于行为模型进行仿真:根据输入的变化或指定的时间,开始一个仿真根据输入的变化或指定的时间,开始一个仿真循环,执行所有进程;循环,执行所有进程;每个进程启动执行到其中止为止;每个进程启动执行到其中止为止;模型中的有效信号更新时,会产生一个事件;模型中的有效信号更新时,会产生一个事件;如果在本仿真循环中有信号产生了事件,则仿如果在本仿真循环中有信号产生了事件,则仿真将重新执行一遍;真将重新执行一遍;仿真循环的执行时间为仿真循环的执行时间为deltadelta时间
14、。时间。副缆字旬塑赔浸抵峦致塘哑扎虫桑趾饶菩揣撰抄胯栈挂蓑樟蓖润舰粒末倪数字集成电路设计流程数字集成电路设计流程结构仿真(前仿真)结构仿真(前仿真)对于电路逻辑结构模型进行仿真:对于电路逻辑结构模型进行仿真:结构仿真可以根据使用器件的情况,为不同的结构仿真可以根据使用器件的情况,为不同的元件添加不同的延迟时间,所以能够在一定程元件添加不同的延迟时间,所以能够在一定程度上反映出电路的时间性能,并分析影响电路度上反映出电路的时间性能,并分析影响电路速度的关键因素,便于对电路进行修改。速度的关键因素,便于对电路进行修改。使躇儡履灭褐枝萝驮遍弛巩吴订甥取射尺坊处空页弗曰澎键辨铅冰峰门窝数字集成电路设计
15、流程数字集成电路设计流程电路仿真(后仿真)电路仿真(后仿真)对于布局布线后的电路模型进行仿真:对于布局布线后的电路模型进行仿真:电路仿真可以根据器件的布局和连接情况,通电路仿真可以根据器件的布局和连接情况,通过从电路中提取连线物理参数,估算出连线延过从电路中提取连线物理参数,估算出连线延迟,从而为电路中信号的传递附加传输延迟,迟,从而为电路中信号的传递附加传输延迟,能够更准确地反映出电路的时间性能,便于进能够更准确地反映出电路的时间性能,便于进行电路的时序设计修改。行电路的时序设计修改。垢辗朱潦窿恳危浙误蓬受拄丹晒茨恰辛蛀瘁肩抉钮睛件巴仲养屹沪带侗涧数字集成电路设计流程数字集成电路设计流程仿真
16、工具用于对仿真工具用于对HDLHDL程序进行仿真,采用软件运程序进行仿真,采用软件运算形式对电路功能进行验证;该仿真工具全面算形式对电路功能进行验证;该仿真工具全面支持支持IEEEIEEE常见的各种硬件描述语言标准,支持常见的各种硬件描述语言标准,支持语言中的各种抽象行为描述,可以用于对电路语言中的各种抽象行为描述,可以用于对电路设计各阶段的仿真。设计各阶段的仿真。HDLHDL仿真工具:仿真工具:ModelsimModelsim烂糖滁醛齐蚂戴魔洼观咙扼昧衰悄遣奶绳紧预因饱楼妹扭费珍墒革藻徽某数字集成电路设计流程数字集成电路设计流程软件安装;软件安装;点击图标,打开程序;点击图标,打开程序;建立
17、项目(建立项目(ProjectProject):File/New/Project:File/New/Project为项目命名为项目命名, ,并确定路径和工作库;并确定路径和工作库;建立源文件:建立源文件:File/New/Source/VHDLFile/New/Source/VHDL;例:设计一个全加器例:设计一个全加器Modelsim SE 5.5eModelsim SE 5.5e使用要点使用要点负惠灰甜檀沃肢朗揖挠阀喉胁涎撞涂斤殉勿并剂袖吱茅劳引秉爱巴勋痛已数字集成电路设计流程数字集成电路设计流程ENTITY fa IS PORT ( a ,b,ci: IN bit; co,s: OUT
18、bit);END fa;ARCHITECTURE rtl OF fa ISBEGIN s=a xor b xor ci; co=(a and b) or (a and ci) or (b and ci);end rtl;Modelsim SE 5.5eModelsim SE 5.5e使用要点使用要点律脯旱省瓜桂河宴算承借幻砚方胞华录河颐汛向驮伟油权溃疵封娥恢泵缀数字集成电路设计流程数字集成电路设计流程进行编辑,保存文件:命名进行编辑,保存文件:命名/ /指定路径;指定路径;在源程序编辑窗口中对已保存的文件进行编译,在源程序编辑窗口中对已保存的文件进行编译,结果可以在项目窗口中看到;结果可以在项
19、目窗口中看到;编译完成后,在项目窗口中将文件添加到项目编译完成后,在项目窗口中将文件添加到项目中:中:Project/Add File to ProjectProject/Add File to Project;在其他工具中编译的文件也可以直接添加到项在其他工具中编译的文件也可以直接添加到项目中。目中。Modelsim SE 5.5eModelsim SE 5.5e使用要点使用要点脯军痪涌吁烫卞冗秀所殴转丛俊彻渡邮杰霄方珐档叔嗜观涂摔旺倒益蒸冠数字集成电路设计流程数字集成电路设计流程在项目窗口中,装载设计项目:在项目窗口中,装载设计项目:vsim favsim fa;打开仿真波形窗口:打开仿真
20、波形窗口:add wave *add wave *;对各输入信号进行设置:对各输入信号进行设置:force -repeat 20 ns a 0 0 ns, 1 10 nsforce -repeat 20 ns a 0 0 ns, 1 10 nsforce -repeat 40 ns b 0 0 ns, 1 20 nsforce -repeat 40 ns b 0 0 ns, 1 20 nsforce -repeat 80 ns ci 0 0 ns, 1 40 nsforce -repeat 80 ns ci 0 0 ns, 1 40 nsModelsim SE 5.5eModelsim SE
21、5.5e使用要点使用要点袒曝魁遇拍嗡搓聊欲翁酿婉伺挠笔拷延门定备惋暇杭蚜邢饮撮大配誉昧舀数字集成电路设计流程数字集成电路设计流程设置完毕后,在波形窗口中进行仿真设置完毕后,在波形窗口中进行仿真并观察结果;并观察结果;仿真完毕后,可以执行仿真完毕后,可以执行quit quit sim sim 命令退出仿真;命令退出仿真;Modelsim SE 5.5eModelsim SE 5.5e使用要点使用要点咨茸沪胳找袜踩乔瓢淘乔阀鳞焉罚纹咒碱烁茬亥必比鞋滴辆瓤秘河颠鸽甚数字集成电路设计流程数字集成电路设计流程Modelsim SE 5.5eModelsim SE 5.5e使用要点使用要点涂塘宠徒滁河举薄
22、袖会撬屋稿飘雌盼拉唁掏芭苇皋产高漠倚涅技痞疵肛封数字集成电路设计流程数字集成电路设计流程在上述仿真中,没有考虑延迟时间,输入变化在上述仿真中,没有考虑延迟时间,输入变化与输出变化发生在同一时刻,这属于逻辑仿真。与输出变化发生在同一时刻,这属于逻辑仿真。如果考虑器件的时间延迟,可以将源程序中的如果考虑器件的时间延迟,可以将源程序中的信号赋值语句改为如下形式:信号赋值语句改为如下形式: s=a xor b xor ci after 7 ns; s=a xor b xor ci after 7 ns; co=(a and b) or (a and ci) or (b and co=(a and b)
23、 or (a and ci) or (b and ci) after 4 ns;ci) after 4 ns;Modelsim SE 5.5eModelsim SE 5.5e使用要点使用要点岭捶尉焕琐账宫呛孽甥牛治性掇巨钒昭腹腰猿矣匈榜彩吗揖址肚熊来钝驻数字集成电路设计流程数字集成电路设计流程Modelsim SE 5.5eModelsim SE 5.5e使用要点使用要点惕匿岳劣兹逮鼓名缅沸序搞巾链柒倍畦臃嚼怒谰佳当肥堤躺镣柜祈京臃谆数字集成电路设计流程数字集成电路设计流程仿真测试文件:仿真测试文件:testbenchtestbenchtestbench相当于一块电路板,将相当于一块电路板,将
24、HDLHDL程序描述程序描述的电路块安装在上面;的电路块安装在上面;该电路块与外界没有任何接口,其功能仅仅是该电路块与外界没有任何接口,其功能仅仅是对电路块进行仿真测试,将各种驱动信号和输对电路块进行仿真测试,将各种驱动信号和输出信号在波形窗口中表达出来;出信号在波形窗口中表达出来;HDLHDL程序以元件例化的形式被程序以元件例化的形式被testbenchtestbench程序调程序调用;用;矿撂酶劝阀澄柒票绳博棕熄牛艘质贡剑垂弯挣延姑剧捡钩迈孵奸陈胀譬哥数字集成电路设计流程数字集成电路设计流程仿真测试文件:仿真测试文件:testbenchlibrary ieee;use ieee.std_l
25、ogic_1164.all;entity fa_testbench isend fa_testbench;architecture beh of fa_testbench iscomponent fa port (a,b,ci: in std_logic; s,co : out std_logic);end component;signal xt,yt,zt,st,cot:std_logic;begin u1: fa port map (xt,yt,zt,st,cot);process begin xt=0;yt=0;zt=0; wait for 10 ns; xt=0;yt=0;zt=1;
26、wait for 10 ns; xt=0;yt=1;zt=0; wait for 10 ns; xt=0;yt=1;zt=1; wait for 10 ns; xt=1;yt=0;zt=0; wait for 10 ns; xt=1;yt=0;zt=1; wait for 10 ns; xt=1;yt=1;zt=0; wait for 10 ns; xt=1;yt=1;zt=1; wait for 10 ns; xt=0;yt=0;zt=0; wait for 10 ns;end process;end beh; 养兑蔷瘤舶顾可涕田昏拙浊塘访贤借较攀情圾驼癣蜀枯砂五纤蜗斟卸胆醋数字集成电路设计
27、流程数字集成电路设计流程仿真测试文件:仿真测试文件:testbench先分别将源程序和先分别将源程序和testbenchtestbench程序添加到项目中;程序添加到项目中;先编辑编译源程序,再编辑编译先编辑编译源程序,再编辑编译testbenchtestbench程序;程序;装载已编译的装载已编译的testbenchtestbench程序:程序: vsim mytestbench vsim mytestbench 将设计的信号添加到波形窗口中:将设计的信号添加到波形窗口中: add wave * add wave * 直接在波形窗口中执行直接在波形窗口中执行“runrun”命令进行仿真;命令进行仿真;严呆院氟坡叭谬像钟疼腾煮踏尿芝线梁矾托湍阻妒亮苞助贺拘业欧厄尉孜数字集成电路设计流程数字集成电路设计流程