ImageVerifierCode 换一换
格式:DOCX , 页数:38 ,大小:1.27MB ,
资源ID:23482938      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23482938.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数字集成电路综合设计.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数字集成电路综合设计.docx

1、数字集成电路综合设计 摘 要 7人表决器电路是一简单的输入信号检测与处理、产生运算控制信号的逻辑电路。本文详细介绍了依据功能要求进行运算控制电路方案设计的过程,并在此基础上将整体电路分为数据接收模块、数据处理模块、结果显示模块等主要功能模块。电路设计完成后通过Design Compiler对电路进行逻辑综合。使用Tcl命令编写电路的约束文件,设定约束条件,对电路进行优化以保证设计的功能性,同时生成网表文件、时序报告、面积报告,并进行结果分析。再通过延时文件与顶层文件的激励进行电路功能的时序仿真,分析设计的可行性。再通过Primetime对电路进行静态时序分析,得到静态时序报告。最后通过IC_C

2、ompler对生成的网表进行物理实现,生成GDS II版图信息。关键词 Design Compiler;Primetime;逻辑综合;静态时序分析;物理实现;引 言现代集成电路技术急剧发展,输百万级晶体管电路使设计面临着巨大的挑战。如果没有计算机的辅助和建立了很好的设计方法是不可能完成这一工作的。Synopsys公司是全球半导体和电子行业先进的EDA(电子设计自动化)软件工具和专业化服务提供商,为设计复杂集成电路(IC)、FPGA(现场可编程门阵列)和SOC(System on Chip,系统级芯片)产品的公司提供业内最完善的工具,使客户能够用最短时间并以最低风险向市场推出最好的电子产品。从高

3、水平的综合能力到门电路的设置,Synopsys为工程技术人员面临的最严峻挑战提供全部解决方案,并帮助他们将电子设计推向极致。现今,Synopsys在全球半导体技术发展潮流中担当着重要角色2。Synopsys公司发布的“Design Compiler”软件,简称“DC”,是一种逻辑合成工具。通过改进电路延迟时间的计算方法,缩小了逻辑合成时的时序与布局完成后的最终时序之间的偏差。DC得到全球60多个半导体厂商、380多个工艺库的支持。据最新Dataquest的统计,Synopsys的逻辑综合工具占据91%的市场份额。DC是十二年来工业界标准的逻辑综合工具,也是Synopsys最核心的产品。它使IC

4、设计者在最短的时间内最佳的利用硅片完成设计。它根据设计描述和约束条件并针对特定的工艺库自动综合出一个优化的门级电路。它可以接受多种输入格式,如硬件描述语言、原理图和网表等,并产生多种性能报告,在缩短设计时间的同时提高设计性能。 本设计采用Verilog HDL语言描述、Design Compiler进行约束及综合。Design Compiler的操作有Tcl命令来实现,还要用Modelsim进行时序仿真,用Prime Time进行静态时序分析,实验环境为Linux操作系统。完成7人表决器电路前端设计。1 总体电路结构设计1.1电路功能 7人表决器电路功能主要集中在四方面。一是在用户使用开关输入

5、状态,高电平代表“1”,低电平代表“0”;二是数据输入后要对数据进行锁存。三是输入锁存后进行数据的实时运算,通过运算电路计算出赞成即“1”的人数和反对“0”的人数,并进行判断赞成人数是否大于3。由于FPGA属于硬件电路,没有使用CPU软核时,没有任何指令集,所以需要使用自带的IP核进行必要的加减运算;四是运算结果得出后,可以准确的将赞成和反对人数的数量显示在数码管上。电路的具体功能罗列如下:(1) 采用7个开关作为7人表决结果得输入设备。(2) 采用2位8段数码管和一位LED灯作为输出显示设备。1.2 关键功能电路设计本电路设计的主要难点在于2位8段数码管的静态显示。本课程设计给定的工作时钟位

6、1kHZ,显示1位8段数码管的时间为1MS,扫描2位的时间为2MS。而人的眼睛遗留时间20MS左右。次时钟工作频率是符合设计要求的。依照功能,将电路分为3个功能:开关输入锁存模块;运算模块用于将开关收集到的数据按照一定要求进行计算出正确的结果;数码管显示模块,用于显示计算结果。电路功能框图如图1.1所示图1.1 电路功能框图1.3 电路接口整个设计接口可以分为2部分,分别是数据的输入以及数据的实时输出。具体接口如下表1.1所示。表1.1 接口信号表名称IO属性描述备注clkIn时钟频率1kHzrstIn复位信号输入端口低电平有效voteIn表决数据输入端口passOut表决结果输出端口cnt_

7、selOut数码管位选端口disp_segOut数码管段选端口1.4 顶层TOP的设计因为本设计是要一起综合功能电路,所以需要顶层的文件,该文件为vote7TOP.v,此部分内部包含了功能电路。具体接口如下表1.3所示:表1.3 顶层接口信号表名称IO属性描述备注CLKIn 外部输入时钟频率1kHzRSTNIn复位信号低电平有效VOTEIn表决信号高电平有效PASSOut表决结果信号大于一半有效CNT_SELOut数码管段选高电平有效DISP_SEGOut数码管位选高电平有效电路功能框图如图1.2所示:图1.2 顶层设计功能框图 2 设计约束及脚本2.1 约束设计约束部分是本次课程设计的重点内

8、容, 对于一个由时钟控制的数字逻辑电路来说,时序是最为重要的。Vote7TOP.v是本设计所要约束的文件。虽然人的肉眼所能分辨的最大频率一般为20Hz,但该设计在计算机上实现仿真运行,故暂不考虑分频问题。所有使用本设计的工作时钟为1kHZ,即CLK周期设置为1000000ns。输入为vote,输出为cnt_sel,disp_seg6:0,pass,他们都是由CLK信号同步控制,所以这些信号延时约占时钟信号的60%,即输入输出延时设置为600000ns。本次对此电路的综合约束需要分为以下几部分:对CLK时钟信号进行设置,对每个输入输出信号的约束,对扇出和驱动负载能力能度需要进行约束设置,最后输出

9、报告。2.2 脚本设计 首先是读入源代码,也就是HDL文本描述的设计文件,此处不用制定目录,Design Compiler会在搜索目录中搜索。Tcl语句如下: read_verilog vote7.v vote7TOP.v 读入设计原文件后,一般设定当前设计,这样约束条件才可能有针对性的施加。Tcl语句如下:current_design vote7TOP 设定当前设计后,要完成链接,也就是将设计与库链接起来,用于映射过程中搜索相应的单元,完成综合。Tcl语句如下: Link 检查设计,主要完成检查转换的设计。Tcl语句如下: check_design然后对设计设定时序约束,这是最重要的一项约束

10、,用于设定设计的工作速度。针对不同的设计部分,有不同的约束方法。针对本次设计,采用全同步,单时钟工作的实际情况。以下语句设定时钟及属性、输入输出信号时间余量。 设定名称为CLK的时钟,由于采用1KHz的时钟,故设定时钟周期为1000000ns。Tcl语句如下: create_clock -name clk period1000000 get_ports CLK 设定时钟的渡越时间为0.2ns。Tcl语句如下: set_clock_transition -max 0.2 get_clocks clk 设定输入信号最大时间延时。Tcl语句如下:set_input_delay -clock clk

11、-max 600000 get_ports VOTE 设定输出信号最大时间延时。Tcl语句如下:set_output_delay -clock clk -max 600000 get_ports DISP_SEG CNT_SEL PASS 告诉综合器不要对时钟网络进行驱动,这个工作将在后续版图布局布线中进行。Tcl语句如下: set_dont_touch_network get_clocks clkset_ideal_network get_ports CLK告诉综合器不要对复位进行驱动。Tcl语句如下:set_dont_touch_network get_ports RSTset_ideal

12、_network get_ports RST检查时序。Tcl语句如下:check_timing设定综合的操作条件。Tcl语句如下:set_operating_conditions -max WORST-max_library saed90nm_max_hth -min WORST -min_library saed90nm_max_hth设定线负载模型,本设计选择saed90nm_max_hth模型。Tcl语句如下:set_wire_load_model -name ForQa设定输出负载电容。Tcl语句如下:set_load -pin_load 2 get_ports DISP_SEG CN

13、T_SEL PASS设定扇出最大负载能力。Tcl语句如下: set_max_fanout 30 vote7TOP 驱动能力设定。Tcl语句如下:set_drive 2.0 get_ports CLK RST 设定输出网表的格式规则,以消除gate level nelist中的assign。Tcl语句如下: set verilogout_no_tri trueset_fix_multiple_port_nets -all -buffer_constants 最大能力进行综合。Tcl语句如下: compile -map high 输出时序报告。Tcl语句如下: rc ./output/tim.lo

14、g 输出网表。Tcl语句如下: write -f verilog -hier -o ./netlst/vote7TOP.v 输出综合数据文件。Tcl语句如下:write -f ddc -hier -o ./output/vote7TOP.ddc输出延时文件。Tcl语句如下:write_sdf ./output/vote7TOP.sdf输出面积文件。Tcl语句如下:report_area ./output/vote7TOP.area.log3 逻辑综合过程3.1 综合文件首先在目录下建立dclab作为本次实验dc的操作主目录。在dclab目录下,建立设计存放目录如code、约束文件目录如cons

15、trn、输出网表文件目录netlst、报告输出目录output、dc启动目录work,库文件目录SnonpsysDC等等。在综合前需要准备以下几个文件,以便使软件可以正常工作。.synopsys_dc.setup文件即启动项文件:在这个文件中,需要将所用到的库单元文件的路径和电路设计文件所存放的路径写入,以便软件在工作时能够找到这些文件并正确识别,本设计将它存放在work目录下。*.v文件:因为本次课程设计所使用电路描述语言为verilog HDL语言,所以至少需要将顶层TOP设计文件、功能电路的设计文件准备好,即准备好一个正确可用的设计,以便用于约束综合,本设计将*.v文件存放在code目录

16、下。Tcl语句文件:在本次课程设计中使用的是命令界面,使用Tcl语言进行操作,所以需要准备好相应的Tcl命令,以便对设计进行约束综合等相应操作,本设计将它存放在constrn目录下。库文件:本设计采用的是synopsys提供好的saed90nm标准单元库的所有文件,存放在目录:/home/zhm/zhm0/SnonpsysDC下面。3.2 综合环境本次设计是运行在ubuntu Linux操作系统环境下的。Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支

17、持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统Linux操作系统诞生于1991 年的10 月5 日(这是第一次正式向外公布的时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。本次课程设计所使用的综合工具Design Compiler

18、(简称DC),是synopsys 公司的ASIC 综合器产品,它可以完成将硬件。描述语言所做的RTL级描述自动转换成优化的门级网表。DC 得到全球60 多个半导体厂商、380 多个工艺库的支持。Synopsys 的逻辑综合工具DC占据91%的市场份额。DC 是工业界标准的逻辑综合工具,也是Synopsys 最核心的产品。它使IC 设计者在最短的时间内最佳的利用硅片完成设计。它根据设计描述和约束条件并针对特定的工艺库将输入的VHDL或者Verilog 的RTL 描述自动综合出一个优化的门级电路。它可以接受多种输入格式,如硬件描述语言、原理图和网表等,并产生多种性能报告,在缩短设计时间的同时提高设

19、计性能。3.3综合过程首先打开Linux中命令终端。进入以准备好的.synopsys_dc.setup文件所在路径。执行命令,打开Design Compiler。进入Tcl命令界面。命令如下:cd /home/zhm/zhm0/dclab/workdc_shell运行后,读入文件将在终端得到如图3.1界面,即已经进入DC的Tcl命令图3.1 Design Compiler的Tcl命令界面因为已经将所要使用的Tcl语句准备好并形成文件,所以可以使用source命令来讲Tcl命令全部读入并执行。命令如下:source /home/zhm/zhm0/dclab/constrn/vote.con这里我

20、们逐一运行命令,运行后,将在终端得到如下界面,即已经进入约束综合过程。读入文件过程,如图3.2所示:图3.2 读入文件过程链接,检查设计之后如图3.3所示:图3.3 链接,检查设计过程时序约束过程,如图3.4所示:图3.4 时序约束过程关键路径优化过程。如图3.5所示:图3.5 优化过程待综合完成后,导出相应文本。如电路网表、综合过程、时序报告、面积报告等。如图3.6所示:图3.6 导出文件4 结果分析及时序仿真4.1 时序报告分析Design Compiler将电路分解成不同的信号时序路径(Timing Path),每条路径都有一个起点和一个终点。起点是电路的输入端口或电路中寄存器的时钟管脚

21、,终点是电路的输出端口或时序器件(sequential devices)中除时钟管脚外的其它输入管脚。时序路径又根据控制它们终点的时钟分成不同的路径组(path group),默认的路径组(the default path group)包含所有不受时钟约束的路径。生成一个默认的时序报告。时序报告由4 个部分组成:路径信息部分(Path Information Section),路径延时部分(Path Delay Section),路径要求部分(Path Required Section),总结部分(Summary Section)。查看命令:report_timing。时序报告如下:*Repo

22、rt : timing -path full -delay max -max_paths 1Design : vote7TOPVersion: G-2012.06-SP2Date : Thu Jul 16 11:03:12 2015*Operating Conditions: saed90nm_max_hth Library: saed90nm_max_hthWire Load Model Mode: top Startpoint: vote7/tmp_reg_4_ (rising edge-triggered flip-flop clocked by clk) Endpoint: PASS

23、(output port clocked by clk) Path Group: clk Path Type: max Des/Clust/Port Wire Load Model Library - vote7TOP ForQa slow Point Incr Path - clock clk (rise edge) 0.00 0.00 clock network delay (ideal) 0.80 0.80 vote7/tmp_reg_4_/CK (DFFRHQX4) 0.00 0.80 r vote7/tmp_reg_4_/Q (DFFRHQX4) 0.46 1.26 r vote7/

24、U148/Y (INVX12) 0.25 1.51 f vote7/U149/Y (INVX12) 0.28 1.79 r vote7/U46/Y (XOR2X4) 0.31 2.10 r vote7/U47/Y (INVX12) 0.23 2.33 f vote7/U48/Y (INVX12) 0.28 2.61 r vote7/U155/Y (XOR2X4) 0.31 2.92 r vote7/U109/Y (INVX12) 0.23 3.15 f vote7/U110/Y (INVX12) 0.28 3.43 r vote7/U41/Y (XOR2X4) 0.31 3.74 r vote

25、7/U42/Y (INVX12) 0.23 3.97 f vote7/U23/Y (INVX12) 0.28 4.25 r vote7/U75/Y (AND2X4) 0.23 4.48 r vote7/U76/Y (INVX12) 0.24 4.71 f vote7/U12/Y (INVX8) 0.10 4.81 r vote7/U21/Y (INVX8) 0.06 4.87 f vote7/U61/Y (AND2X4) 0.25 5.12 f vote7/U62/Y (INVX12) 0.29 5.41 r vote7/U93/Y (AND2X4) 0.23 5.64 r vote7/U94

26、/Y (INVX12) 0.23 5.87 f vote7/U69/Y (AND2X4) 0.22 6.10 f vote7/U70/Y (INVX12) 0.25 6.35 r vote7/U115/Y (INVX12) 0.24 6.59 f vote7/U151/Y (CLKINVX8) 0.13 6.72 r vote7/pass (vote7) 0.00 6.72 r iopads/pass_core (iopads) 0.00 6.72 r iopads/pass/PAD (PDO04CDG) 1.30 8.01 r iopads/PASS_PAD (iopads) 0.00 8.

27、01 r PASS (out) 0.00 8.01 r data arrival time 8.01 clock clk (rise edge) 1000000.00 1000000.00 clock network delay (ideal) 0.80 1000000.81 clock uncertainty -0.30 1000000.50 output external delay -600000.00 400000.50 data required time 400000.50 - data required time 400000.50 data arrival time -8.01

28、 - slack (MET) 399992.50上面是对clk时钟的约束,即对jjq_core部分约束的时序报告。时序报告中有三列项目。第一列是关键路径经过的器件;第二列为器件的延时;第三列是路径总延时。路径起点为vote7/tmp_reg_4_,路径终点为PASS (output port clocked by clk)。从表中可知经过各个器件的延时,数据到达时间为8.01ns。而约束的时钟周期1000000ns,允许的最大延时为400000.50ns。因此,允许的最大时延减去到达时间为ns。所以满足设计的要求,裕量时间即为399992.50ns。4.2 面积报告分析面积报告中列出了设计的端

29、口、单元、线网和引用的数目。设计的面积被分为组合、非组合以及互连线。分别显示出组合逻辑面积,时序逻辑面积,估计的互联线面积,单元器件总面积。面积报告如下:*Report : areaDesign : vote7TOPVersion: G-2012.06-SP2Date : Thu Jul 16 11:03:12 2015*Library(s) Used: saed90nm_max_hth (File: /home/zhm/zhm0/SynopsysDC/saed90nm_max_hth)Number of ports: 18Number of nets: 36Number of cells: 2Number of combinational cells: 0Number of sequential cells: 0Number of macros: 0Number of buf/inv: 0Number of references: 2Combinational area: 174748.435136Buf/Inv area: 4311.014318Noncombinational area: 1713.096024Net Interconnect area: 63933.649796 Total cell area: 176461.531

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1