快速入门数字芯片设计,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总线等也有非常大的好处。

目录
相关文章
|
2月前
|
机器学习/深度学习 弹性计算 编解码
阿里云服务器计算架构X86/ARM/GPU/FPGA/ASIC/裸金属/超级计算集群有啥区别?
阿里云服务器ECS提供了多种计算架构,包括X86、ARM、GPU/FPGA/ASIC、弹性裸金属服务器及超级计算集群。X86架构常见且通用,适合大多数应用场景;ARM架构具备低功耗优势,适用于长期运行环境;GPU/FPGA/ASIC则针对深度学习、科学计算、视频处理等高性能需求;弹性裸金属服务器与超级计算集群则分别提供物理机级别的性能和高速RDMA互联,满足高性能计算和大规模训练需求。
103 6
|
7月前
|
存储 机器学习/深度学习 并行计算
阿里云服务器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
115 0
|
7月前
|
存储 芯片 异构计算
【FPGA原型验证】FPGA 技术:芯片和工具-当今的 FPGA 器件技术_fpga原型版本
【FPGA原型验证】FPGA 技术:芯片和工具-当今的 FPGA 器件技术_fpga原型版本
198 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(二)
89 0
|
20天前
|
算法 数据安全/隐私保护 异构计算
基于FPGA的16QAM调制+软解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本项目基于FPGA实现了16QAM基带通信系统,包括调制、信道仿真、解调及误码率统计模块。通过Vivado2019.2仿真,设置不同SNR(如8dB、12dB),验证了软解调相较于传统16QAM系统的优越性,误码率显著降低。系统采用Verilog语言编写,详细介绍了16QAM软解调的原理及实现步骤,适用于高性能数据传输场景。
121 69
|
25天前
|
移动开发 算法 数据安全/隐私保护
基于FPGA的QPSK调制+软解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本文介绍了基于FPGA的QPSK调制解调系统,通过Vivado 2019.2进行仿真,展示了在不同信噪比(SNR=1dB, 5dB, 10dB)下的仿真效果。与普通QPSK系统相比,该系统的软解调技术显著降低了误码率。文章还详细阐述了QPSK调制的基本原理、信号采样、判决、解调及软解调的实现过程,并提供了Verilog核心程序代码。
62 26
|
1月前
|
算法 异构计算
基于FPGA的4ASK调制解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本文介绍了基于FPGA的4-ASK调制解调系统的算法仿真效果、理论基础及Verilog核心程序。仿真在Vivado2019.2环境下进行,分别测试了SNR为20dB、15dB、10dB时的性能。理论部分概述了4-ASK的工作原理,包括调制、解调过程及其数学模型。Verilog代码实现了4-ASK调制器、加性高斯白噪声(AWGN)信道模拟、解调器及误码率计算模块。
59 8
|
1月前
|
算法 物联网 异构计算
基于FPGA的4FSK调制解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本文介绍了基于FPGA的4FSK调制解调系统的Verilog实现,包括高斯信道模块和误码率统计模块,支持不同SNR设置。系统在Vivado 2019.2上开发,展示了在不同SNR条件下的仿真结果。4FSK调制通过将输入数据转换为四个不同频率的信号来提高频带利用率和抗干扰能力,适用于无线通信和数据传输领域。文中还提供了核心Verilog代码,详细描述了调制、加噪声、解调及误码率计算的过程。
59 11

热门文章

最新文章