快速入门数字芯片设计,UCSD ECE111(九)FPGA vs ASIC(三)

简介: 快速入门数字芯片设计,UCSD ECE111(九)FPGA vs ASIC(三)

上图是一个与非逻辑,基于与非逻辑,下面的n-FETs是串联的,上面的p-FETs是并联的(逻辑表达式可以转换成与非逻辑或者或非逻辑。二者对应的CMOS电路不同)。其分析逻辑和开始的反相器是一样的,大家可以动手算一下真值表。

上图给出了分析过程。

上图是对应的标准单元,如果有做个Layout的朋友应该对这个画面比较熟悉。对于设计而言留个印象即可,不用掌握。

然后介绍了一下D-Flip-Flop。如图所示,由图大家可以知道,为什么触发器是边沿采样。我们可以分析一下,低电平的时候左侧从D到QM是导通的。数据锁存在QM处,然后高电平的时候右边导通,数据可以输出到Q。这也解释了为什么需要建立时间和保持时间。以建立时间为例,数据采样是需要时间的。你在低电平的时候需要及时的变化,以采集你的数据到QM,否则还没采样到就到了高电平,这个数据就进不来了。同理保持时间也是,如果你数据变化太快。左侧还没有关闭,那QM的值就变了,进而Q的值也不是预期希望的值了。而是你新数据的值了。

然后给了D触发器的标准单元图示。

可以看到随着设计变得复杂,版图已经看不清了。

2018年的新款英伟达GPU,采用12nm工艺制程,有超过230亿个晶体管。

我们再看看FPGA和ASIC的设计流程有何不同,可以看到前端基本是一样的。对于后端而言有很大的区别,FPGA采用FPGA芯片上的逻辑块,由Vivado等软件进行自动映射,布局布线实现。而ASIC基于标准库,由DC等工具进行综合,然后还要进行后仿真(用带有逻辑延迟的库进行仿真),再基于标准库进行布局布线等。通常我们认为ASIC的设计要比FPGA更为复杂,风险更高。需要更加专业的人员来把控全局。

对于初学者而言,能选择其中一个方向都是很好的,身边也有很多从FPGA转来ASIC的。并没有特别困难,只需要一定的学习即可。

如果面试官问你ASIC和FPGA的区别,可以考虑从以下几个方面回答:

  • 所使用的工具不同,ASIC开发使用的工具远远多于FPGA开发。
  • FPGA更多的时候是使用Vivado自带的IP库,当然ASIC设计也可以使用DesignWare等,但是其便捷性远不如Vivado的调用速度,毕竟FPGA用一个Vivado工具就可以完成整个开发流程。
  • 时钟、存储电路、IO等完全不同。FPGA开发一般调用MMCM/PLL的IP核即可,方便快捷。而ASIC设计在时钟花的时间非常多,也很复杂。还有存储电路,FPGA开发调用MIG,进行生成即可。而ASIC一般是使用制定厂商工艺库,基于Memory Compiler进行生成。IO的话FPGA一般进行XDC约束即可,而ASIC是要单独做IO PAD的。FPGA很少听说有自己动手做IO PAD的,Vivado工具已经支持的很好了,不需要过度操心。
  • FPGA通用性更强,可以反复的烧录(当然综合烧录的时间也很长)。而ASIC一旦回片,基本就定型了,希望大家的ASIC都能一次点亮。
  • 综合/PR不同,虽然叫一个名字,但基本是两回事。根据上面所说的大家可以知道,对于FPGA的CLB而言,其中的LUT实现组合逻辑,D触发器实现时序逻辑,再加上一些BRAM,硬核资源如DSP等,就可以实现任意电路。所以FPGA的综合就是把RTL映射到这些资源上。ASIC综合是将RTL映射到标准单元库上,有些RTL,语法是支持,但是就是综合不了。很多时候会出现Vivado可以综合过的,但DC不一定过。FPGA综合和ASIC综合区别很大很大。
  • 此外做ASIC基本也会用到FPGA,做原型验证。而通常说的FPGA开发是直接拿FPGA去做产品,这种广义上来讲,也可以算嵌入式开发的一部分。

最后对于想学习FPGA的朋友,建议直接学习ZYNQ。该芯片开发可以大幅度提高大家的软硬件协同开发能力,可以说事半功倍,并且对学SoC、AMBA总线等也有非常大的好处。

目录
相关文章
|
1月前
|
机器学习/深度学习 弹性计算 编解码
阿里云服务器计算架构X86/ARM/GPU/FPGA/ASIC/裸金属/超级计算集群有啥区别?
阿里云服务器ECS提供了多种计算架构,包括X86、ARM、GPU/FPGA/ASIC、弹性裸金属服务器及超级计算集群。X86架构常见且通用,适合大多数应用场景;ARM架构具备低功耗优势,适用于长期运行环境;GPU/FPGA/ASIC则针对深度学习、科学计算、视频处理等高性能需求;弹性裸金属服务器与超级计算集群则分别提供物理机级别的性能和高速RDMA互联,满足高性能计算和大规模训练需求。
|
6月前
|
存储 机器学习/深度学习 并行计算
阿里云服务器X86计算、Arm计算、GPU/FPGA/ASIC、高性能计算架构区别
在我们选购阿里云服务器的时候,云服务器架构有X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器、高性能计算可选,有的用户并不清楚他们之间有何区别,本文主要简单介绍下不同类型的云服务器有何不同,主要特点及适用场景有哪些。
阿里云服务器X86计算、Arm计算、GPU/FPGA/ASIC、高性能计算架构区别
|
机器学习/深度学习 调度 芯片
快速入门数字芯片设计,UCSD ECE111(九)FPGA vs ASIC(一)
快速入门数字芯片设计,UCSD ECE111(九)FPGA vs ASIC
99 0
|
6月前
|
存储 芯片 异构计算
【FPGA原型验证】FPGA 技术:芯片和工具-当今的 FPGA 器件技术_fpga原型版本
【FPGA原型验证】FPGA 技术:芯片和工具-当今的 FPGA 器件技术_fpga原型版本
175 0
|
机器学习/深度学习 弹性计算 并行计算
阿里云服务器租用收费价格参考,GPU/FPGA/ASIC架构云服务器收费价格表
GPU/FPGA/ASIC架构阿里云服务器有GPU计算型gn7r、GPU计算型gn7i、GPU计算型gn6v、GPU计算型gn6i等实例规格可选,不同实例规格的租用收费价格是不一样的,本文为大家汇总了目前基于GPU/FPGA/ASIC架构下的各个实例规格的阿里云服务器收费标准,以供参考。
阿里云服务器租用收费价格参考,GPU/FPGA/ASIC架构云服务器收费价格表
|
芯片 C++ 异构计算
快速入门数字芯片设计,UCSD ECE111(九)FPGA vs ASIC(二)
快速入门数字芯片设计,UCSD ECE111(九)FPGA vs ASIC(二)
79 0
|
6月前
|
机器学习/深度学习 算法 异构计算
m基于FPGA的多通道FIR滤波器verilog实现,包含testbench测试文件
本文介绍了使用VIVADO 2019.2仿真的多通道FIR滤波器设计。展示了系统RTL结构图,并简述了FIR滤波器的基本理论,包括单通道和多通道的概念、常见结构及设计方法,如窗函数法、频率采样法、优化算法和机器学习方法。此外,还提供了Verilog核心程序代码,用于实现4通道滤波器模块,包含时钟、复位信号及输入输出接口的定义。
159 7
|
6月前
|
算法 异构计算
m基于FPGA的电子钟verilog实现,可设置闹钟,包含testbench测试文件
该文介绍了基于FPGA的电子钟设计,利用Vivado2019.2平台进行开发并展示测试结果。电子钟设计采用Verilog硬件描述语言,核心包括振荡器、分频器和计数器。时间显示为2个十进制格式,闹钟功能通过存储器和比较器实现,当当前时间等于设定时间时触发。文中给出了Verilog核心程序示例,展示了时钟信号、设置信号及输出的交互。
189 2
|
6月前
|
编解码 算法 异构计算
基于FPGA的NC图像质量评估verilog实现,包含testbench和MATLAB辅助验证程序
在Vivado 2019.2和Matlab 2022a中测试的图像质量评估算法展示了效果。该算法基于NC指标,衡量图像与原始图像的相似度,关注分辨率、色彩深度和失真。提供的Verilog代码段用于读取并比较两个BMP文件,计算NC值。
|
6月前
|
算法 异构计算
m基于FPGA的MPPT最大功率跟踪算法verilog实现,包含testbench
该内容包括三部分:1) 展示了Vivado 2019.2和Matlab中关于某种算法的仿真结果图像,可能与太阳能光伏系统的最大功率点跟踪(MPPT)相关。2) 简述了MPPT中的爬山法原理,通过调整光伏电池工作点以找到最大功率输出。3) 提供了一个Verilog程序模块`MPPT_test_tops`,用于测试MPPT算法,其中包含`UI_test`和`MPPT_module_U`两个子模块,处理光伏电流和电压信号。
68 1

热门文章

最新文章