我前一段时间开始玩电子产品,并使用晶体管制作简单的逻辑门。我知道现代集成电路使用CMOS而不是晶体管晶体管逻辑。我不禁要问的是CPU的设计方式。
设计是否仍在(亚)逻辑门级别完成,或者在该领域中没有太多创新了,我们是否已经进入了更高的抽象级别?我知道ALU是如何构建的,但是CPU的功能远不止于此。
数十亿个晶体管的设计从何而来?它们主要是由软件自动生成,还是还有很多手动优化?
我前一段时间开始玩电子产品,并使用晶体管制作简单的逻辑门。我知道现代集成电路使用CMOS而不是晶体管晶体管逻辑。我不禁要问的是CPU的设计方式。
设计是否仍在(亚)逻辑门级别完成,或者在该领域中没有太多创新了,我们是否已经进入了更高的抽象级别?我知道ALU是如何构建的,但是CPU的功能远不止于此。
数十亿个晶体管的设计从何而来?它们主要是由软件自动生成,还是还有很多手动优化?
Answers:
硬件描述语言(例如Verilog和VHDL)(两个主要参与者)很可能使用CPU和SoC。
这些语言允许不同级别的抽象。在VHDL中,您可以将逻辑块定义为实体。它包含输入和输出端口。在该块中,您可以定义所需的逻辑。假设您定义了一个具有输入A,输入B和输出C的块。您可以轻松地编写C = A和B ;,并且基本上创建了一个AND端口块。这可能是您可以想象的最简单的块。
数字系统通常设计为具有强大的层次结构。可以从CPU所需的主要功能开始“顶层”:处理器(多个)存储器,PCI-express和其他总线。在该级别内,可能已经定义了存储器与处理器之间的总线和通信信号。
当您降低一个级别时,它将定义使某项“工作”的内部工作。以微控制器为例,它可以包含一个UART接口。制作功能UART所需的实际逻辑在下面定义。在这里,可能需要许多其他逻辑来生成和划分所需的时钟,缓冲区数据(FIFO缓冲区),向CPU报告数据(某种总线)。系统)。
VHDL和数字设计的有趣之处在于模块的重用。例如,您可以在顶层复制并粘贴UART模块以创建2个UART(好吧,也许只有在UART模块能够寻址的情况下才这么简单!)。
此设计不是任何门级设计。VHDL也可以最终被转换为逻辑门的方式进行“编译”。机器可以比人类更好(并且也可以更快)优化这一点。例如; 在输出信号之前,模块A的内部需要一个反相器。块B获取此输出信号,然后再次将其反相。好吧,串联的2个逆变器做得不好吗?正确,因此您也可以将它们排除在外。但是,在“顶层”设计中,您将无法发现串联的两个逆变器。您只会看到两个端口相连。编译器可以比人工更快地进行优化。
基本上,数字系统设计包含的内容是描述逻辑应如何“表现”,并且计算机用于确定最有效的方法是布置各个逻辑门。
让我简化并扩展我以前的评论,并为那些似乎需要它的人提供帮助。
设计是否仍在(亚)逻辑门级完成?
设计是在许多级别上完成的,子逻辑级别始终是不同的。每次制造收缩都需要最出色的物理,化学和光刻工艺经验,因为晶体管的结构发生变化,几何形状也发生变化以补偿折衷,因为它缩小到原子级,每降低1个二进制位将耗资约10亿美元。尺寸。要实现14nm的几何形状,是研发,过程控制和管理中的一项艰巨任务,但这仍然是轻描淡写!
例如,为此需要的工作技能包括: -“ FET,单元和块级别的自定义布局,FUB级别的平面图,抽象视图生成,RC提取以及从原理图到布局的验证和调试,都使用了物理设计开发阶段,包括寄生提取,静态时序,导线负载模型,时钟生成,自定义多边形编辑,自动放置和布线算法,平面布置图,全芯片组装,封装和验证。” *
-在这个领域没有太多创新了吗? -错-根据摩尔定律和专利数量的判断,半导体物理领域有重大且投入巨大的创新,它永远不会停止,功率,热量的节省以及因此三倍的能力每次都得到回报。
-我们是否已经进入了更高的抽象水平? -它从未停止过移动。-随着对更多内核的需求,在诸如ARM RISC CPU,更强大的嵌入式µC或MCU的一条指令中执行更多操作,带DDR4的智能RAM(默认情况下具有ECC)和带有优先级位的闪存(例如用于紧急存储器提取)的扇区。-CPU的发展和架构的变化将永远不会停止。
让我给你一个提示。请前往英特尔,AMD,TI或AD为工程师进行工作搜索,并查看工作说明。
-数十亿个晶体管的设计来自哪里? -它来自添加更多的64位硬件块。但是现在要发生纳米管故障,必须将思维方式从碳纳米管的自上而下的方法更改为碳纳米管的自下而上的方法,以使其起作用。
实际上,他们仍在从太空飞船中提取Area51的设计,并且还有一段路要走……直到我们完全兼容纳米管。一位工程师走进图书馆,说nVidia,我们希望您加入我们在此芯片上的工作,成为一部分,成为宏块。可以像Toystory中的Ants一样复制布局,但是必须手动路由/签出对所有连接的显式控制,以及使用DRC和自动路由进行比较。是的,不断地升级自动化工具以消除重复和浪费的时间。
-还有很多手动优化吗?
但是,实际上CPU的增长就像东京一样,不是一朝一夕的,而是现在有成千上万的人不断改善。我没有在大学学习如何设计。但是通过阅读并试图了解事物的工作原理,我能够很快地赶上行业。在我的前5年中,我在航空航天,核仪器设计,SCADA设计,过程监控,天线设计,自动气象站设计和调试,OCXO的PLL的VLF Rx,黑布兰特火箭的2路远程控制等方面拥有10年的经验。那只是我的第一份工作。我不知道该怎么办。
不必担心数十亿个晶体管,也不必担心学习什么或需要了解多少。只需跟随您的激情并在睡眠之间阅读贸易日记,就可以使工作看起来不那么环保,不再感觉像工作。
我记得在20分钟内一次必须设计741部“类似”运算放大器作为考试的一部分。我从未真正使用过它,但是我可以从出色的设计中识别出好的。但是那时只有20个晶体管。
但是如何设计CPU必须从规格开始。 为什么要设计CPU并制定可衡量的基准,例如: -例如,每秒宏指令(MIPS)(比CPU时钟更重要);- 英特尔的Itanium芯片基于他们所谓的显式并行指令计算(EPIC)设计。 - 全美达的专利CPU设计,超长指令字代码变形微处理器(VLIWCMM)。他们在2006年起诉英特尔,并关闭了商店,并在2007 年以约2亿美元的价格和解。
指标还有很多,但是从来没有将CPU的设计质量基于GHz速度(请参见神话)
那么,设计CPU时需要哪些工具?从原子级物理设计到动态网格EMC EMC物理EM / RF设计,再到前端设计验证测试工程师,该列表不适合该页面;这些技能包括;-前端RTL仿真-IA和计算机体系结构以及系统级设计的知识-使用VHDL或Verilog进行逻辑验证和逻辑仿真。-面向对象的编程以及各种CPU,总线/互连,一致性协议。