专用集成电路设计实用教程
IC设计经典教材,《专用集成电路设计实用教程》专用集成电路设计实用教程虞希清编著大學出瓶社图书在版编目(CIP)数据专用集成电路设计实用教程/虞希清编著.一杭州:浙江大学出版社,2007.1ISBN978-7-308-05113-2专..Ⅱ.虞..Ⅲ.集成电路一电路设计一高等学校一教材Ⅳ.TN402中国版本图书馆CIP数据核字(2006)第165341号专用集成电路设计实用教程虞希清编著任编辑张真封面设计张真出版发行浙江大学出版社(杭州天目山路148号邮政编码310028)(E-mail:zupress@mail,hz,zj.cn)(网址http://www.zjupress.com排版杭州好友排版工作室印刷杭州浙大同力教育彩印有限公司开本787mm×1092mm1/16印张18.25字数467千印数2001-3000版印次207年1月第1版2007年7月第2次印刷书号ISBN978-7-30805113-2定价38.00元版权所有翻印必究印装差错负责调换内容提要在现代的IC设计中,工程师们广泛地使用数字电路的逻辑综合技术。工程师们使用RTL代码和IP描述设计的功能,进行高级设计,用综合工具对设计进行编辑和优化,以实现满足设计目标的电路。根据多年为客户进行技术培训,技术支持和IC设计的经验,笔者编写了本书。书中主要介绍了IC设计的基本概念,设计流程和设计方法,并就工程师们在设计中常见的问题,提供了解决方法。本书的特点是实用性强全书共分九章,第一章概述EC设计的趋势和流程;第二章介绍用RTL代码进行电路的高级设计和数字电路的逻辑综合;第三章陈述了IC系统的层次化设计和模块划分;第四章详细地说明如何设置电路的设计目标和约束;第五章介绍综合库和静态时序分析;第六章深入地阐述了电路优化和优化策略;第七章陈述物理综合和简介逻辑综合的拓扑技术;第八章介绍可测性设计;第九章介绍低功耗设计和分析本书的主要对象是IC设计工程师,帮助他们解决IC设计和综合过程中遇到的实际问题。也可作为高等院校相关专业的高年级学生和研究生的参考书。前言本书在 Synopsys公司的逻辑综合培训资料基础上编写而成。从事EDA工作和ASIC设计已有十几年了。在给中港台ASIC设计工程师提供的技术培训和支持中,工程师们曾提出了设计和使用设计工具中遇到的各种各样的问题。教学相长,在和工程师讨论问题、提供解决方案的过程中,我得到了很多的经验和启发。在为用户解决一些实际问题,为他们提供培训后,我曾收到热情的掌声和感谢信。用户的掌声和谢意给了我很大的鼓励和鞭策,使我下决心要编写一本实用的中文版的集成电路设计教程和手册,以答谢用户们的支持和帮助。本书讲究实用性,希望其中的内容能帮助ASIC设计工程师清楚明了IC设计的基本概念,IC设计的流程,逻辑综合的基本概念和设计方法,解决进行IC设计时和工具使用时所遇到的问题。全书共分九章,第一章概述IC设计的趋势和流程;第二章介绍用RTL代码进行电路的高级设计和数字电路的逻辑综合;第三章陈述了IC系统的层次化设计和模块划分;第四章详细地说明如何设置电路的设计目标和约束;第五章介绍综合库和静态时序分析;第六章深入地阐述了电路的优化和优化策略;第七章陈述物理综合和简介逻辑综合的拓扑技术;第八章介绍可测性设计;第九章介绍低功耗设计和分析本书的主要对象是IC设计工程师,帮助他们解决IC设计和综合过程中遇到的实际问题。也可作为高等院校相关专业的高年级学生和研究生的参考书。在本书的编写过程中,得到了 Synopsys中国区高级技术经理常绍军先生的大力支持。常绍军先生、资深的应用技术顾问李昂先生和冯源先生审阅了本书,并提出了宝贵的意见和建议。在此,表示衷心的感谢。在本书编写过程中,得到了全家的支持,深表谢意!由于时间仓促,知识水平有限,书中难免有不足和错误之处,敬请各位专家,IC设计工程师和同行们批评指正,不胜感激。来函可发电子邮件( Email: victory_snps@ yahoo.com.hk)。虞希清2006年11月于 Synopsys香港目录第一章集成电路设计概论1.1摩尔定律………………∴…………11.2集成电路系统的组成1.3集成电路的设计流程第二章数字电路的高级设计和逻辑综合132.1RTL硬件描述语言设计132.1.1行为级硬件描述语言( Behavioral Level hdi)132.1.2寄存器传输级硬件描述语言( RTL HDI)172.1.3结构化硬件描述语言( Structure HDL)………………………………232逻辑综合(L。 gic Synthesis)…………………272.2.1逻辑综合的基本步骤…282.2.2综合工具 Design Compiler302.2.3目标库和初始环境设置鲁·自自音甲·是着音鲁备.··非曲●d■···●····第三章系统的层次化设计和模块划分353.1设计组成及 DC- Tcl…·自音···········日·········.···卡器日音是·晶自鲁bt·。……353.1.1设计物体( Design Object)鲁音自353.1.2 DC - Tcl简介香看·鲁·鲁·鲁.鲁自春3.2层次( Hierarchy)结构和模块划分( Partition)及修改463.2.1层次结构的概念463.2.2模块的划分…息鲁483.2.3模块划分的修改·看。51第四章电路的设计目标和约束…°。●看。面●554.1设计的时序约束…普·非鲁·鲁击曲■554.1.1同步( Synchronous)电路和异步( Asynchronous)电路…4.1.2亚稳态( Metastability)574.1.3单时钟同步设计的时序约束…血D。e574.1.4设计环境的约束724,1.5多时钟同步设计的时序约束…………794.1.6异步设计的时序约束832专用集成电路设计实用教程4.1.7保持时间( Hold Time)854.2复杂时序约束看香鲁e鲁曲鲁。自鲁自。a。自鲁自。鲁4.2.1多时钟周期( Multi-Cycle)的时序约束874.2.2门控时钟的约束904.2.3分频电路和多路传输电路的时钟约束鲁·看看看鲁924.3面积约束……………………………96第五章综合库和静态时序分析…985.1综合库和设计规则···········.······.··4·a·.·····◆···—985.1.1综合库……5.1.2设计规则1075.2静态时序分析5.2.1时序路径和分组1125.2.2时间路径的延迟1145.2.3时序报告和时序问题的诊断鲁·.···.·自击击合音。甲。。。●。。●……115第六章电路优化和优化策略…1206.1电路优化..···4····;··.·.·.·.·a·a·;··1226.1.1 Synopsys的知识产权库- Design Ware1236.1.2电路优化的三个阶段………………………1266.2优化策略…………1346.2.1编辑策略垂由d垂……1356.2.2自动芯片综合( Automated Chip Synthesis)………………………………1416.3网表的生成格式及后处理144第七章物理综合1487.1逻辑综合(L。 gic Synthesis)遇到的问题……………………1487.2物理综合( Physical Synthesis)的基本流程鲁鲁自谁…………………………1517.3逻辑综合的拓扑技术( Topographical Technology)…………162第八章可测试性设计…1748.1生产测试简介…………1748.2可测试性设计鲁D曹吾音·非·自·········着4鲁4鲁是1768.2.1物理瑕疵和故障模型1768.2.2D算法( D algorithm)1788.3测试协议( Test protocol)1858.4测试的设计规则·●鲁q鲁·音鲁鲁D鲁香曹音音音·自自··。·非鲁曲··●1908.4.1可测试性设计中的时钟信号1908.4.2三态总线和双向端口的测试。非……………………198录8.5门级网表可测试问题的自动修正2048.6扫描链的插入2088.7可测试设计的输出和流程2228.8自适应性扫描压缩技术………225第九章低功耗设计和分析2299.1工艺库的功耗模型…………2319.2功耗的分析…鲁鲁鲁……………2379.3低功耗电路的设计和优化2519.3.1门控时钟电路25293.2操作数分离………2619.3.3门级电路的功耗优化●·4·■D鲁曹春击自由2669.3.4多个供电电压( Multi-VDD)…2749.3.5电源门控………276参考文献……………………281第一章集应电路设计概记集成电路( Integrated Circuits)是现代电子设备的重要组成部分。因此,成功设计集成电路对整个电子信息技术产业的发展起到重要的作用。由于科技的发展,半导体芯片的集成化程度越来越高,设计的系统越来越复杂,规模越来越大,设计的性能越来越髙,功耗也越来越大,这些不断地给芯片设计工程师和电子设计自动化( Electronics Design Automation,简称EDA)厂商提出新的课题和挑战。1.1摩尔定律摩尔提出著名的“摩尔定律”已经40多年了。1965年4月,摩尔在《电子学( Electronics)》杂志上发表文章预言,半导体芯片上集成的晶体管数量将每年翻一番。1975年,他又提出修正说,芯片上集成的晶体管数量将每两年翻一番。晶体管数量MOORES LAWIntels Tanuma 2 Processo1000000000ante△nmtele Pentium Pr100000000Intels Pentium m Processoitels Pentium Pro10000000Intelstuma Printels*v Proces1000000Intel388 pre28610000080801000080084004●100019701975198019851990199520002005年度图1.1.1图1.1.1为在过去25年, ntel CPu中晶体管增长的情况。集成电路的规模不断地稳
- 2021-05-06下载
- 积分:1
西门子S7-1200 SCL编程指令手册.pdf
西门子1200PLC SCL编程指令手册,详细介绍西直门1200和1500PLC的SCL编程指令R_TRG检测信号上升沿(S7-1200,S7-1500)RTR|G:检测信号上升沿唱圆说明使用检测信号上升沿”指爷,可以检测输入CLK的从“0"到“1”的状态变化。该指合捋输入CLK的当前值与保存在指定实例中的上次查询(边沿存储位)的状态进行比较。如果该指合检测到输入CLK的状态从“03变成了“1”,就会在输出Q中生成一个信号上升沿,输出的值将为TRUE或“1”一个周期。在其它任何情况下,该指合输出的信号状态均为“0”。烀该指合插入程序中时,烀自动打开“调用选项" Call options)对话框。在该对话框中,可以指定将边沿存储位存储在自身数据块中(单背景)或者作为局部变量存储在块接口中(多重背景)。语法“检测信号上升沿”指爷的语法如下所示(CLK:=参数下表列出了“检测信号上升沿”指爷的参数:参数声明数据类型存储区说明CLKInputBOOL、Q、M、D、L|到达信号,查询该信号的边QOutputBOOL1、Q、MAD、L边沿检测的结果示例以下示例说明了该指合的工作原理SCLR TRIG DB"(CLK : -TagIn>Tagout)i输入CLK中变量的上一个状态存储在“ R TRIG DB”变量中。如果在操作数Tagn1和"Tagn2”或在操作数“Tagn3中检测到信号状态从“0变为“1”,则输出“ Tagout_Q的信号状态为“”一个周期。3F_TRG:检测信号下降沿(S7-1200,S7-1500)FTRG检测信号下降沿唱圆说明使用检测信号下降沿”指爷,可以检测输入CLK的从“1”到"0”的状态变化。该指合捋输入CLK的当前值与保存在指定实例中的上次查询(边沿存储位)的状态进行比较。如果该指合检测到输入CLK的状态从“1"变成了“0,就会在输出Q中生成一个信号下降沿,即输出的值烀为TRUE或“1”一个周期。在其它任何情况下,该指合输出的信号状态均为“0”。烀该指合插入程序中时,烀自动打开“调用选项" Call options)对话框。在该对话框中,可以指定将边沿存储位存储在自身数据块中(单背景)或者作为局部变量存储在块接口中(多重背景)。语法“检测信号下降沿”指爷的语法如下所示(CLK:=参数下表列出了“检测信号下降沿指合的参数:参数声明数据类型存储区说明CLKInputBOOLQ,M、D、L到达信号,查询该信号的边沿QOutputBOOLQ、M、D、L|边沿检测的结果示例以下示例说明了该指合的工作原理SCLF TRIG DB(CLK :TagIn2 =>Tagout)输入CLK中变量的上一个状态存储在“FTRG_DB"变量中。如果检测到操作数“Tagn"的信号状态从“1变为“0”,则输出" Tagout"的信号状态为“1"4定时器操作(S7-1200,S7-1500)定时器操作该章节包括以下主题的信息:TP:生成脉冲S7-1200,S7-1500)TON:接通延时(S7-1200S7-1500ToF∴关断延时(S7-1200,S7-1500)●TONR:时间累加器(S7-1200,S7-1500)RESET TIMER:复位定时器(S7-1200,S7-1500)PRESET TIMER:加戟持续时间(S7-1200,S7-1500)°传统(S7-15005TP:生成脉冲(S7-1200,S7-1500)TP:生成脉冲唱圆说明使用“生成脉冲”指合来设置持续时间PT的参数Q。当参数|N的逻辑运算结果(RLO)从0变为“1”(信号上升沿)时,启动该指合。指合启动时,预设的时间PT即开始计时。随后无论输入信号如何改变都会将参数Q设置为时间PT。如果持续时间PT仍在计时,即使检测到新的上升沿,参数Q的信号状态也不会受到影响。可通过ET参数查询当前的时间值。该时间值从T#0s开始,在达到持续时间PT后结束。达到持续时间PT时,且参数|N的信号状态为“0”,则复位参数ET。说明如果程序中未调用定时器(这是因为会忽略定时器),则输出ET会在定时器计时结束后立即返回个常数值。每次调用“生成脉冲指合,都会为其分配一个G定时器用于存储指合数据。对于S7-1200cPUEC定时器是一个 C TIMER或 TP TIME数据类型的结构,可如下声明声明为一个系统数据类型为|C_TMER的数据块(例如,MyEC_TMER●声明为块中“ Static程序段内类型为 TP TIME的局部变量(例如,# MyTP_TIMER)对于S7-1500cPUEC定时器是一个 C TIMER、旧 C LTIMER、 TP TIME或 TP LTIME数据类型的结构,可如下声明声明为一个系统数据类型为 C TIMER或lC_ LTIMER的数据块(例如," MylEC_TIMER”)声明为块中 Static部分的 TP TIME或 TP LTIME类型的局部变量(例如,# MyTP_ TIMER)在程序中插入该指合时,将打开“调用选项” Call options)对话框,可以指定C定时器将存储在自身数据块中(单个背景)或者作为局部变量存储在块接口中(多重背景如果创建了一个单独的数据块则该数据块捋保存到项目树“程序块>系统块"( Program blocks> System blocks)路径中的“程序资源( Program resources)文件夹内。有关本主题的更多信息,请参见“另请参见"。只有在调用该指合且每次都会访问Q或ET输出时,才会更新指爷数据。语法生成脉冲”指合的语法如下所示●系统数据类型为EC_ Timer的数据块(全局DB)SCLTP(IN:=PT:=ET=>●局部变量TP:生成脉冲(S7-1200,87-1500)SCLmoloc1 timer(工NPT:=rQ=>)该指合的语法由以下部分组成参数声明数据类型存储区说明s7-1200S7-1500NBOOLBOOL.M.D.|启动输及脉冲的持续时PTIniTIMETIMEl、Q、M、D、间。LTIMEPT参数的值必须为正数OutputBOOLBOOLQ、M、D、在PT持续时间内保持置位状态的操作数TIMEETOutputMEl、Q、M、DLTIME当前时间值有关有效数据类型的更多信息,请参见“另请参见"。脉冲时序图下图显示了“生成脉冲”指合的脉冲时序图PTPTPTET示例7TP:生成脉冲(S7-1200,S7-1500)以下示例说明了该指爷的工作原理SCLTP DB".TP(IN Tag start,PT :=Tag PresetTime"Tag statusET =>"Tag ElapsedTime")i当“ Tag_ start"操作数的信号状态从“0”变为“1"时,PT参数预设的时间段开始计时,同时"Tag_ Status"操作数置位为“1”。当前时间值存储在 Tag_ ElapsedTime"操作数中8TON:接通延时(S7-1200,S7-1500)TON:接通延时唱圆说明可以使用接通延时”指合捋Q参数的设置延时PT指定的一段时间。当参数N的逻辑运算结果(RLO从“0变为“1”(信号上升沿)时,启动该指合。指合启动时,预设的时间PT即开始计时。超过持续时间PT时,参数Q的信号状态变为“1。只要启动输入仍为“1”,参数Q就保持置位。如果|N参数的信号状态从“1变为"0”,则复位参数Q。当在参数N上检测到一个新的信号上升沿时,将重新启动定时器功能。可通过ET参数查询当前的时间值。该时间值从T#0s开始,在达到持续时间PT后结束。只要参数N的信号状态变为0”,就立即复位ET参数。说明如果程序中未调用定时器(这是因为会忽略定时器),则输出ET会在定时器计时结束后立即返回一个常数值。每次调用“接通延时指合,必须捋其分配给存储指合数据的EC定时器对于S7-1200CPUEC定时器是一个 C TIMER或 TON TIME数据类型的结构,可如下声明●声明为一个系统数据类型为 C TIMER的数据块(例如, MylEC_ TIMER”)●声明为块中“ Static"程序段内类型为 TON TIME的局部变量(例如,# MyTON_TIMER)对于S71500cPUEC定时器是一个|EC_TMER、 EC LTIMER、TON_TME或 TON LTIME数据类型的结构,可如下声明●声明为一个系统数据类型为旧EC_ TIMER或C_ LTIMER的数据块(例如," MylEC_TIMER")声明为块中“ Static"部分的 TON TIME或 TON LTIME类型的局部变量(例如,# My TON_ TIMER)在程序中插入该指合时,捋打开“调用选项( Call options)对话框,可以指定C定时器烀存储在白身数据块中(单个背景)或者作为局部变量存储在块接口中(多重背景)。如果创建了一个单独的数据块,则该数据块捋保存到项目树“程序块>系统块( Program blocks> System blocks)路径中的“程序资源Program resources)文件夹内。有关本主题的更多信息,请参见“另请参见”。只有在调用该指合且每次都会访问Q或ET输出时,才会更新指合数据。语法接通延时指合的语法如下所示●系统数据类型为C_Tmer的数据块(全局DB)SCLTON(N:=PT:=,Q=>,三=>)9TON:接通延时(S7-1200,S7-1500)●局部变量SCLmoloc1 timer(工N:=rPT:=rQ=>ET)该指合的语法由以下部分组成参数声明数据类型存储区说明s7-1200s7-1500NInputBOOLBOOLl、Q、M、D启动输入接通延时的持TIME、Q、M、D、续时间PTInputTIMELTIMEPT参数的值必须为正数定时器PT内时OutputBOOLQ、M、D、间用完时,保持BOOL置位状态的操作数。TIMETIMEQ、M、DETOutputLTIME当前时间值有关有效数据类型的更多信息,请参见“另请参见”。脉冲时序图下图显示了“接通延时指合的脉冲时序图PTET
- 2020-12-03下载
- 积分:1