前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >原理图输入设计历史(一)

原理图输入设计历史(一)

作者头像
碎碎思
发布2020-06-30 14:43:59
4870
发布2020-06-30 14:43:59
举报
文章被收录于专栏:OpenFPGAOpenFPGA

设计历史

仿真历史

硅芯片(20世纪60年代)

设计步骤:1、用钢笔、纸和模板手工处理电路图,也称为原理图(这些图展现了用来实现设计的逻辑门和功能的符号,以及它们之间的连接。);2、由团队中擅长执行逻辑最小化和优化的成员将一组逻辑门用另一组执行同样任务更快或者消耗更少硅面积的逻辑门来代替(优化);3、 由一群工程师围在桌子旁讨论、检查原理图设计是否会按照计划实现它的逻辑功能-功能验证;

4、时序验证-检查设计满足要求的输入到输出和内部路径延迟,并且没有违规时间(比如建立时间和保持时间)引起内部寄存器出错-也是用笔和纸完成的。

5、用手画出一组制图表示用来形成逻辑门的结构(或者,更准确地说,形成逻辑门的晶体管)和他们之间的互连线;6、最后用由成群的多边形比如正方形和矩形构成的制图制作光刻掩模;7、制造真正的硅芯片。

优点:大致的设计流程有流传下来;缺点:手工设计方式需要花费大量时间并且很容易出错。

20世纪60年代末70年代初

设计步骤:1、手工绘制门级设计原理图-如图8-1;

2、建立一个“门级网表”来表示电路图;说明:这里的“门级”包括基本逻辑门、功能集合、连线

3、 产生一组测试向量,即激励以逻辑1和逻辑0的形式作为电路的输入。这些测试向量具有文本的形式,他们通常表现为表格形式,如图8-3所示;说明:在你那个年代,工程师一般要使用一个大型机器,用一组打孔的卡片来记录网表。当计算机(带有存储设备,如软驱)变得普遍时,网表开始以文本的形式存储,如图8-2。所有早期的逻辑仿真工具都有自己的仿真原语(即对于原语门如AND、NAND、OR、NORD等,逻辑工具内部有自己的内部表示),一些工具内部还针对更复杂功能如D触发器也有自己的内部表示,这种情况下,在图8-2中“G4=DFF”可以直接映射成内部表示。对于没有的复杂部件的仿真原语,也可以通过AND、NAND等原语的网表表示,这种情况下,在图8-2中“G4=DFF”可以看做是仿真器实例化了这个D触发器。

注意,本图所示的内容是为了说明问题而虚构的,受那个时代的局限,创造工具(本例逻辑仿真)需要私人发明网表描述语言。

说明:在“;”后的字符都被视作注释,左边显示的是激励值的输入时间,输入信号的名称在上方空白处垂直地显示出来。目前的术语中,图8-3所示的测试向量文件被视为一个初步的testbench。专门规定的时间值再次作为某些仿真核单元的集成参数。

4、调用仿真器,读入门级网表;5、在计算机内部虚拟出一个电路(图8-1);6、仿真器读入第一个测试向量(激励文件的第一行),将这些值送入虚拟电路的输入端口,接着测试向量将传递到整个电路;7、读入第二个测试向量(激励文件得分第二行),以此反复(如图8-4);

仿真器还需要一个或多个控制文件(或在线命令),来告诉它哪个内部节点(线网)和输出引脚需要监控,仿真器进行多长时间等。最终结果与原始激励一起以表格的形式存入输出文件中。

后端工具-例如:版图设计(20世纪70年代)版图设计(layout)是指决定逻辑门如何在芯片的内部表面摆放(实际上是晶体管形式的逻辑门)以及在它们之间布线。

Calma、ComputerVision和Applieon等公司开发了用来代替手绘设计的程序。这时,设计置于一个大的比例图表中,然后用像鼠标一样的东西来把外形(多边形)的边界数字化,用来定义晶体管和内部互连。这些数字文件接下来用于产生掩模,这些掩模就可以用于产生实际的芯片了。后来,这些早期的计算机辅助制图工具发展成“多边形编辑器”(polygon editors)的交互式程序,可以让使用者直接把这些多边形画在计算机屏幕上(类似现在的图形化编程,但是那时候还没那么方便)。这些工具最后发展到可以接受与驱动逻辑仿真器同样的网表,并自动地执行版图设计(布局和布线)任务。

EDA=CAE+CAD(20世纪80年代)

20世纪80年代,所有用于电子器件和系统设计的CAE和CAD工具被统一到电子设计自动化或EDA的旗帜下,至于CAE和CAD概念如下:像逻辑仿真这样用于设计流程前端(逻辑设计和功能验证)部分的工具最初都被划分为计算机辅助工程(CAE)软件。相比之下,像版图设计(布局布线)这样用于设计流程后端(物理)部分的工具起初被归类为计算机辅助设计(CAD)软件。(许多其他的工程学科里,CAD也用来指计算机辅助设计工具,比如机械和建筑设计。)因为以前的设计大部分都是基于CAE和CAD的,所以工程师通常是指工作在设计流程前端的人,也就是完成如构思和描述(制图)一个集成电路(它做什么以及如何让它这样做)功能等任务的人。相比之下,版图设计者或设计者多指处于设计流程后端的人,也就是完成版图设计(决定逻辑门位置并用互联线把它们连接到一起)任务的人。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OpenFPGA 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档