数字前端设计所需知识很广,最好的学习方法就是项目实践,光看书和视频教程是学不会的,真正入门得靠项目。重点在于掌握设计思想和分析问题的方法,形成良好书写习惯(遵循代码书写、命名规范),最好把常用的基本的电路标准化、固定化。高手水平高并不是体现在他能写出一些很奇特的电路,相反水平高体现在他们总能将复杂的电路用一些很朴素的基本电路去描述。
前端设计一般需要掌握的知识有:
Linux操作基础、数字电子基础、verilog语言、计算机体系结构、脚本语言、EDA仿真工具等。
如果你是自学,建议阅读《综合与时序分析的设计约束》,本书详细说明了指定时序要求所需要的概念,然后将其应用于设计流程中的特定阶段,所有这些都包含在Synopsys设计约束(SDC)的上下文中,SDC是业界领先的用于指定约束的格式。
当然自学这事情因人而异,贵在坚持。建议多去专业性平台如EETOP、知乎、21IC、移知、7纳米等获取相关资料;
我们经常从许多设计工程师那里听到有一些书中介绍了综合和静态时序分析等概念,这些概念涵盖了时序约束,但从来没有详细描述过。根据我们多年在时序特性描述、延迟计算、时序分析以及创建和验证约束等领域的工作,本资料介绍了指定时序要求所需的概念。
这次分享主要是对一些想要入门前端的朋友提供一些参考的资料。今天《综合与时序分析的设计约束》给整理好了,快来看看吧~如有侵权,请联系删除哦~
◇◆◇
1 综合的解释
考虑一个3位计数器,它按照0→5→2→7→6→3→5→1→0的顺序计数。如果我们不得不用门级电路来实现这个计数器,那么需要花很多时间来绘制卡诺图,然后获得组成计数器的3个触发器中的每个D脚的输入逻辑。
但是,写出描述上述功能的HDL代码就快多了。然后,通过相应的工具,使用该HDL 代码创建相应的网表。
在电子设计中,综合是指完成特定功能的门级网表的实现。除了特定功能,综合的过程可能还要满足某些其他要求,即功率、操作频率等。
有时,针对特定种类或部分电路有专门的综合工具。如∶
● 时钟树综合——创建时钟树
● 数据路径综合———在数据路径中创建重复的结构
● 逻辑综合——用于实现各种逻辑电路通常,单词“综合”本身仅仅是指逻辑综合。
◇◆◇
2 时序约束在综合中的作用
设计过程包括许多步骤,这些步骤可分为不同种类,如∶
● 明确目的
● 验证设计是否符合我们的期望
● 评估某些特性
● 真正实现设计
最后的一系列步骤也称为实现步骤(implementation step),综合是这些实现步骤中的第一步。以下小节给出了综合工具可能需要做出选择和决策的几个基础例子。这些都是综合工具需要通过约束来提供附加信息(除功能外)的例子。
3 优化
对于实现网表的综合工具,它需要一些信息。第一个信息是所实现的网表需要完成的功能,该信息来自HDL描述。
对一个设备而言,显然功能是最重要的因素。但是,设计者还必须对以下问题敏感∶
● 面积我们希望在同一单位面积上实现尽可能多的功能。
● 功率∶我们希望节省电池电量,并减少结点发热。
● 性能∶我们希望从设备上获得尽可能高的速度。
然而,上述目标中的每一个都可能影响其他目标,有时这种影响是有负面作用的。例如,如果想获得最佳速度,我们将需要更高级的驱动装置,这就意味着要有更大的功率和更大的硅面积。因此,设计者不会试图达到最高性能,可能只想获得实现目的的性能,并在此过程中节省面积和功率。
设计者通过约束将他对面积、功率和性能的要求传达给综合工具。一旦综合工具能够搭建满足这些目标的电路,则该工具不需要再进一步努力来实现“更好”的电路。进一步尝试改善任何方面都有可能使其他方面恶化。
因此,约束是用来告诉综合工具———在实现相同功能的许多可能的实现方式中,应该选择哪个以同时满足其对面积、功率和性能的要求。
作者:芯博士
文章来源:IC 芯博士
推荐阅读
更多IC设计技术干货请关注IC设计技术专栏。
迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。