实现 。首先是要实现功能,方式一般采用HDL描述,如verilog , VHDL 。当然对于小规模电路也可以采用电路图输入的方式 。
验证 。得保证电路功能的正确性,也叫验证,可以通过软件仿真,硬件仿真等方式实现 。软件仿真一般比较直观 , 方便调试,因为每一时刻的状态都可以看到,这好比调试软件程序 。硬件仿真一般就是指FPGA验证 , 就是把电路用FPGA实现 , 然后去跑,这个的好处就是速度很快 , 譬如一个视频解码核 , 解一帧图像出来,软件仿真就算用最好的服务器,也得跑上多少秒,但是在FPGA中实现的话,基本就是多少毫秒了 。这对于一个需要大规模验证的电路来说,是必不可少的 。前面两步对于数字IP来说,ASIC和FPGA基本一致 , 除非一些实现技巧的差别 。
综合 。在你描述的电路正确性得到确保之后,你就要实现它,就是要把你写的那些代码变成实实在在的电路,如寄存器还是与非门,这个过程就叫综合 。由于电路规模日益复杂,一般最基本的电路就被做成了cell,如寄存器,与非门,就不会再细化到用三极管怎么去搭的问题了 。这一步对于FPGA和ASIC来说就是最小的那个单元不一样 。FPGA是做好的电路,一般顾及通用性和效能,基本电路单元就做得比较大,如LUT,就是由寄存器和与非门构成,你可能只用了其中一个与门,但是还会占用这么一个单元 。对于ASIC来说,两输入的与非门,就是一个简单的门电路 , 甚至为了区分驱动能力和时序特性差异,还分了好几个等级 , 有的面积?。?有的驱动能力强 。总的来说这一步就是工具把你的描述变成基于库的电路描述 。
【芯片设计】摆放 。你得到基于库的电路描述之后,就要考虑这些单元怎么摆放的问题 , 这叫布局布线 。FPGA的话连线资源有限,所以需要不断地调整 , 在保证时序要求的情况下,把你的电路映射到其固定的资源分布图中间 。ASIC的话一般是根据周边电路需求,时序要求,把你的电路放到芯片的某个位置 。在摆好之后还得考虑连线是否能通,各级延时是否能满足电路的建立和保持时间要求等等 。
输出 。FPGA就是输出一个配置文件 , 告诉FPGA芯片该怎么样去配置其电路,使其实现预期功能 。该文件可以在FPGA上电之后再由PC下载进去,也可以保存在Flash里,电路上电之后自动配置 。ASIC就是输出一个版图文件,告诉代工厂该怎么去腐蚀硅片,该怎么连金属等等 。当然在这过程中间会有各种各样的辅助步骤 。总的来说都是为了确保你设计的电路正确及正确实现你的电路 。
- 背景墙设计
- 武汉设计院有哪些
- 求河南设计院真实排名
- 怎么写论文
- 德尔菲法是问卷设计的方法吗
- lol奥德赛2芯片任务怎么过
- F1赛车的车轴为什么要这么设计
- 如何实现手机多机位同步摄像
- LOL奥德赛金克斯暴走萝莉搭配什么增幅芯片好
- 如何实现手游轻量化?
