精华内容
下载资源
问答
  • 书籍推荐-FPGA芯片架构设计与实现

    热门讨论 2020-05-11 15:06:20
    FPGA芯片架构设计与实现1. 内容简介2. 作者简介3. 其他 1. 内容简介 可编程通用逻辑门阵列芯片简称FPGA,与CPU,DSP并列为三大通用数字处理芯片,广泛应用于通信、航空航天、医疗、国防军工以及安防视频监控等领域...

    FPGA芯片架构设计与实现


    在这里插入图片描述

    1. 内容简介

    可编程通用逻辑门阵列芯片简称FPGA,与CPU,DSP并列为三大通用数字处理芯片,广泛应用于通信、航空航天、医疗、国防军工以及安防视频监控等领域。通过本书的学习,读者可以全面了解一颗FPGA芯片从设计、验证到流片的全部开发过程。 本书共分10章,采取“总―分”的编排方式。第1章从架构的总体设计入题对FPGA进行介绍。第2~10章,分别对其中的各个重要模块逐一介绍,包括:时钟网络、电源/地线网络和漏电流、可编程逻辑单元、可编程I/O模块、DDR存储器接口、数字延时锁定环、连线连接盒、互连线段长度分布以及配置模块。 本书适合从事集成电路设计的资深工程师、微电子专业高年级研究生以及从事微电子专业教学研究的教师和科研人员阅读。本书还可以作为高等院校教授集成电路设计的辅助资料。

    2. 作者简介

    作者于2009年3月至2012年8月在中科院电子所可编程芯片与系统研究室攻读博士学位,从事下一代SOC FPGA的关键集成技术研究。博士课题来源于中科院/国家外专局的创新团队合作伙伴计划’片上可编程系统前沿技术研究”。博士毕业获微电子与固体电子学博士学位。同年,以申请人博士论文为基础,帮助实验室申请了国家自然科学基金面上项目’基于TSV互连的三维FPGA架构及关键技术研究”。2012年博士毕业后,选择留所继续从事博士后研究工作,并作为国自基金项目的实际负责人,管理项目的整体推进,指导学生完成了2篇论文的投稿。博士后期间,参与了两款FPGA芯片的研制工作,分别是0.13um 百万门级FPGA(中科院重点方向性项目)和40nm FPGA-ip核(国家重大专项)。2015年博士后出站,出站报告’FPGA时钟分布网络研究”从延时、面积、功耗、灵活性以及热性能等多方面,对FPGA的关键架构技术进行了研究。

    3. 其他

    很好的一本书,欢迎学习交流,留言分享。

    展开全文
  • HyperTransport为AMD K8架构中的设计,是一种为主板上的集成电路互连而设计的端到 端总线技术,目的是加快芯片间的数据传输速度。Broadcom、Cisco、Sun、NVIDIA、ALi、ATI、Apple、Transmeta等许多企业均采用这 项...
  • 根据无线通信芯片不同协议版本以及不同场景的应用需求,提出...将其应用于实际WLAN芯片的SoC架构设计中,实际原型系统表明该总线架构功能完全符合无线通信SoC的系统要求,并具有高度灵活可扩展、高度可重用的总线特征。
  • 人类对视觉信号天生的敏感决定了对图形处理硬件性能的渴求成了现... 为了应付激烈的行业竞争, 设计出更高性能的图形处理芯片已经成为各个厂商保持自身竞争力水平最重要的手段。 今天我就来大家做一次特殊的旅行,了...

    17a87f9c5d6c646d8cacaaa36ae0f170.png

    人类对视觉信号天生的敏感决定了对图形处理硬件性能的渴求成了现阶段硬件产业最炙手可热的话题。 与满足听觉的音频设备相比,现在的图形处理技术水平给图形处理还留有很大的发展空间, 这就决定了这个产业的竞争充满了变数,在技术开发和市场推广策略上稍有不慎就会别别人赶超。 为了应付激烈的行业竞争, 设计出更高性能的图形处理芯片已经成为各个厂商保持自身竞争力水平最重要的手段。 今天我就来大家做一次特殊的旅行,了解图形芯片设计研发的全过程,事实上现在绝大多数的芯片设计厂商都是依照这个程序来进行新品研发的。

    确定研发方案和硬件语言描述

    与任何一个靠生产产品谋求发展的企业一样,设计推出一款新的 GPU 的第一步理所当然的是市场的调研和产品的开发规划。在这段时间内,未来产品的相关定位,主要占领的市场范围等话题都被提到桌面上讨论,这些问题讨论的结果最终将决定产品最终的研发方案的大体内容:研发成本,研发周期以及开发过程中需要的资源等等。

    接下来就要在研发方案确定的大方向的技术上研究从生产工艺,芯片代工等具体的细节问题进行商议。在成本的限制范围内决定诸如集成晶体管数量等物理参数;紧接着就要在符合生产工艺的芯片代工厂中做出选择了,决定这个的因素很多,当然第一点是能提供生产芯片要求的工艺水平,比如0.15微米,0.13微米,甚至90纳米,其次是代工厂的产品质量和价格因素。当然很多时候芯片在设计的时候就计划使用比较超前的工艺,保证选择的代工厂(即芯片生产的公司比如TSMC )在芯片设计完成开始投片的时候完成相关工艺改造是十分重要的,如果你在这一点上面做出错误的判断,那对公司造成的损失是巨大的,因为图形芯片行业是一个最求速度的产业,在生产工艺已经决定的情况下,如果要在回过头来修订工艺指标,那进行的工作又会持续几个月,其中的工作量不比重新一块芯片要少多少!

    当这一切前期环节确定以后,就开始我们这篇文章最主要的部分了,显示芯片构架的设计。一个设计团队被组织起来定义GPU 支持的技术特征并且制定整个设计工作的日程表(比如团队1在三周内完成反锯齿单元的设计)。

    在我们深入介绍芯片的设计过程之前,我们先来了解一下现在芯片制造公司一般的设计流程。 现在,芯片构架的设计一般是通过专门的硬件设计语言Hardware Description Languages (HDL)来完成,所谓硬件设计语言( HDL)顾名思义,是一种用来描述硬件工作过程的语言。现在被使用的比较多的有 Verilog 、 VHDL。 这些语言写成的代码能够用专门的合成器生成逻辑门电路的连线表和布局图,这些都是将来发给芯片代工厂的主要生产依据。对于硬件设计语言( HDL)一般的人都基本上不会接触到,我们在这里只给大家简略的介绍一下:在程序代码的形式上HDL和C也没有太大的不同,但他们的实际功能是完全的不同。比如下面这个Verilog语言中非常基本的一条语句:

    always@(posedge clock) Q <= D;

    这相当于C里面的一条条件判断语句,意思就是在时钟有上升沿信号的时候,输出信号 'D' 被储存在'Q'。 就是通过诸如此类的语句描述了触发器电路组成的缓存和显存之间数据交换的基本方式。综合软件就是依靠这些代码描述出来的门电路的工作方式关系生成电路的。在芯片的设计阶段基本上都是通过工程师们通过Verilog语言编制HDL代码来设计芯片中的所有工作单元,也决定该芯片所能支持的所有技术特征。这个阶段一般要持续3到4个月(这取决于芯片工程的规模),是整个设计过程的基础。

    在上述的工作完成后,就进入了产品设计的验证阶段,一般也有一两个月的时间。这个阶段的任务就是保证在芯片最后交付代工厂的设计方案没有缺陷的,就是我们平时所说的产品的“bug”。这一个阶段对于任何芯片设计公司来说都是举足轻重的一步,因为如果芯片设计在投片生产出来以后验证出并不能像设计的那样正常工作,那就不仅意味着继续投入更多的金钱修改设计,重新投片,还会在图形芯片产业最为重视的产品推出速度方面失去先机。整个验证工作分为好几个过程,基本功能测试验证芯片内的所有的门电路能正常工作,工作量模拟测试用来证实门电路组合能达到的性能。当然,这时候还没有真正物理意义上真正的芯片存在,这些所有的测试依旧是通过HDL 编成的程序模拟出来的。

    接下来的验证工作开始进行分支的并行运作,一个团队负责芯片电路的静态时序分析,保证成品芯片能够达到设计的主频 ;另外一个主要由模拟电路工程师组成的团队进行关于储存电路,供电电路的分析修改。 和数字电路的修正工作相比,模拟工程师们的工作要辛苦的多,他们要进行大量的复数,微分方程计算和信号分析,即便是借助计算机和专门的软件也是一件很头疼的事情。同样,这时候的多有测试和验证工作都是在模拟的状态下进行的,最终,当上述所有的工作完成后,一份由综合软件生成的用来投片生产门电路级别的连线表和电路图就完成了。

    但是,图形芯片设计者不会立即把这个方案交付厂家,因为它还要接受最后一个考验,那就是我们通常所说的FPGA (Field Programmable Gate Array)现场可编程门阵列来对设计进行的最终功能进行验证。 对于NV30那样集成一亿多个晶体管超级复杂芯片,在整个使用硬件设计语言( HDL)设计和模拟测试的过程中,要反复运行描述整个芯片的数十亿条的指令和进行真正“海量”的数据储存,因此对执行相关任务的的硬件有着近乎变态的考验。我们从下面NVIDIA实验室的配备可见一斑。

    可编程门阵列FPGA模拟验证

    现场可编程门阵列FPGA可以能完成任何数字器件的功能,上至高性能CPU下至简单的74电路,都可以用它来实现。FPGA其实是一个包含有大量门电路的逻辑元件,但是它的每一个门的定义可以有使用者来定义,如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。通过软件仿真,我们可以事先验证设计的正确性。在PCB完成以后,还可以利用FPGA的在线修改能力,随时修改设计而不必改动硬件电路。所以说使用FPGA来开发数字电路,可以大大缩短设计时间,更为重要的是大大减少了再出现成品芯片以后反复修改,投片资金和时间的消耗,一块几千美元的FPGA(这里指目前最大容量的FPGA)和花费数百万美元得到一块成品芯片相比,消耗是微不足道的.

    (编者:呵呵,以上文字引用了本站新手入门中的文字,看来新手入门这篇文章已经流传很广咯)

    在这个方面,ATI 和 NVIDIA 公司都使用了名为IKOS的FPGA验证系统。 IKOS内部是由多块插卡构成,每块插卡都是一个FPGA阵列,由许多块大规模FPGA组成。 因为到了R300和NV30世代,图形芯片已经成了最复杂的ASIC芯片了,无法用一两块FPGA就能完成验证工作,必须使用这样的专业FPGA验证设备. 当然, FPGA也不是完美无缺的,它固有的缺点就是运行速度还没有ASIC芯片这么快. 和现在动不动运行频率都在200-300MHz 的GPU相比,IKOS 的运行主频大概只有可怜的几十兆Hz左右.当然这些缺点在应用在产品的设计过程中没什么大不了的.它负责的工作就是最终验证芯片设计功能的实现,你可以让IKOS作为显示部分的系统正常运行,进行驱动程序的开发和验证,当然如果你硬要在这样的系统上运行游戏也不是不可能,不过能维持在每秒几帧就不错了.

    投片生产样片和修正

    经过前面一系列的验证工作,这道工序就可以告一段落了,几经修订的设计方案被送到了芯片代工厂开始投片生产.代工厂从拿到设计方案到第一批产品下线一般需要四周的时间,不过在这段时间里,设计人员仍旧马不停蹄,继续进行芯片的模拟测试和上市产品PCB(Printed Circuit Boards印刷电路板) 的设计,这就产生了一般官方钦定的“公板”.四周以后,第一批产品下线了,这就是我们一般称为的”A0”版本。 (编者:就是常说的“工程样片”)

    一般情况下, A0版本的产量不会很多,它们的主要用途还是用来进行测试和修改,一些被送到开发小组继续测试和查错,另一部分被送到相关的卡板厂商处进行相关的测试和设计。由于现在是有了真正的芯片到手了,查错的手段当然也要和前面的模拟手段不同。FIB (Focused Ion Beam聚焦离子束) 系统在这里被引入查错过程。简单的说FIB系统相当于我们平时在医院看到的各种依靠波束能量进行外科类手术的仪器,它们能在不破坏芯片功能的前提下,对芯片进行门电路级别的修改——切断原有的或者是布置新的门连线,不管你需要修改的电路是在芯片金属布线的哪一层,也不会对芯片造成任何的物理损坏。

    当然,除了FIB设备外,还要使用很多其他的测试手段,像上图这台机器同样是一台探测芯片缺陷的设备,工作原理又完全不同,实际上它是一台高性能原子级别电子显微镜。下面这张图显示的就是一块NVIDIA 芯片在45,000X放大倍数下的面目。 我们在下图中用红线框围绕的部分就是该芯片的缺陷。一般这种缺陷都是在生产过程中造成的, 由于某种其他物质的原子混进高纯度硅晶体中造成的。这台机器能够辨别出混入的这种原子的种类并且判断可能是什么原因这些原子会进入到芯片的这个部分,从而能采取措施避免这种情况的发生,改善成品率。

    当“所有”的缺陷都得到了修正之后,最终的设计被交付到代工厂进行投片生产,这时的产量就不会像A0版本那么少了,但也不是最终的量产版本,在前面验证基本功无误的情况下,这次生产的芯片要进行各种各样的和正式上市产品相关的测试:产品兼容性,工作温度,外围供电电路的稳定性,信号完整性等等,直到产品能达到作为产品上市的程度,这时芯片生产方就可以投入量产了。

    在最后的这些测试过程中,要测试大量的GPU,方便期间,显卡上面都做出了GPU的插座,一个个独立的GPU芯片只要插接在上面就能进行测试了。当然这些插座都是为特定的GPU芯片所设计的,只能来测试引脚定义相同的GPU。也许有朋友说,要是现在市面上的显卡也做成这种插座式的设计,并且能够不断进行升级该有多好,我们先不说每一款芯片针脚定义不同。假设这方面不是问题,那我们至少也要保证显存有能力向新核心提供数据的带宽同步增长才有意义。所以说,显卡上GPU插座的设计注定只能存在在实验室。

    其实芯片设计过程中的插座原则也适用于其它产品,在主板 芯片组 的测试过程中也很常见,瞧瞧上面这块nForce 2主板,它的 北桥 芯片同样是安放在插座上的,当然这是题外话了。

    到了这个阶段就会有很多芯片用来进行各种测试,上图就是等待测试一堆Quadro4芯片

    结语

    呼呼,研发一款新的显卡的过程真好比“万里长征”一般,讲的小编都有些疲惫了,更不要讲参与研发的那些工程师们所要付出辛劳和智慧了。而通过整个产品研发有条不紊,环环相扣的程序制定,我们也看到了西方工业在科学理论系统化和产业化方面的强大能量,这也是我们值得学习的啊。

    原文由小熊在线最先发表,介绍了navida公司设计图象处理芯片(GPU)的全过程,让大家可以对大规模芯片设计的过程,以及FPGA在IC设计中的作用,有一个形象的了解。

    展开全文
  • 作者 | 架构师技术联盟责编 | 阿秃人工智能芯片目前有两种发展路径:一种是延续传统计算架构,加速硬件计算能力,主要以 3 种类型的芯片为代表,即 GPU、 FPGA、 ASIC,但 CPU依旧发挥着不可替代的作用;另一种是...

    戳蓝字“CSDN云计算关注我们哦!

    25feec772661e889a347c3f4d9142552.png

    作者 | 架构师技术联盟

    责编 | 阿秃

    人工智能芯片目前有两种发展路径:一种是延续传统计算架构,加速硬件计算能力,主要以 3 种类型的芯片为代表,即 GPU、 FPGA、 ASIC,但 CPU依旧发挥着不可替代的作用;另一种是颠覆经典的冯·诺依曼计算架构,采用类脑神经结构来提升计算能力, 以 IBM TrueNorth 芯片为代表。

    1、传统 CPU

    计算机工业从1960年代早期开始使用CPU这个术语。迄今为止,CPU从形态、设计到实现都已发生了巨大的变化,但是其基本工作原理却一直没有大的改变。通常 CPU 由控制器和运算器这两个主要部件组成。传统的 CPU 内部结构图如图所示:

    c57e339de7be144bb1ab9626636fa073.png

    传统CPU内部结构图(ALU计算模块)

    从图中我们可以看到:实质上仅单独的 ALU 模块(逻辑运算单元)是用来完成数据计算的,其他各个模块的存在都是为了保证指令能够一条接一条的有序执行。这种通用性结构对于传统的编程计算模式非常适合,同时可以通过提升 CPU 主频(提升单位时间内执行指令的条数)来提升计算速度。但对于深度学习中的并不需要太多的程序指令、 却需要海量数据运算的计算需求, 这种结构就显得有些力不从心。尤其是在功耗限制下, 无法通过无限制的提升 CPU 和内存的工作频率来加快指令执行速度, 这种情况导致 CPU 系统的发展遇到不可逾越的瓶颈。

    2、并行加速计算的GPU

    GPU 作为最早从事并行加速计算的处理器,相比 CPU 速度快, 同时比其他加速器芯片编程灵活简单。

    传统的 CPU 之所以不适合人工智能算法的执行,主要原因在于其计算指令遵循串行执行的方式,没能发挥出芯片的全部潜力。与之不同的是, GPU 具有高并行结构,在处理图形数据和复杂算法方面拥有比 CPU 更高的效率。对比 GPU 和 CPU 在结构上的差异, CPU大部分面积为控制器和寄存器,而 GPU 拥有更ALU(ARITHMETIC LOGIC UNIT,逻辑运算单元)用于数据处理,这样的结构适合对密集型数据进行并行处理, CPU 与 GPU 的结构对比如图 所示。

    8d8d433d484a754031169ac2e835cd75.png

    CPU及GPU 结构对比图

    程序在 GPU系统上的运行速度相较于单核 CPU往往提升几十倍乃至上千倍。随着英伟达、 AMD 等公司不断推进其对 GPU 大规模并行架构的支持,面向通用计算的 GPU(即GPGPU, GENERAL PURPOSE GPU,通用计算图形处理器)已成为加速可并行应用程序的重要手段,GPU 的发展历程可分为 3 个阶段:

    第一代GPU(1999年以前 ) , 部分功能从CPU分离 , 实现硬件加速 , 以GE(GEOMETRY ENGINE)为代表,只能起到 3D 图像处理的加速作用,不具有软件编程特性。

    第二代 GPU(1999-2005 年), 实现进一步的硬件加速和有限的编程性。1999年,英伟达发布了“专为执行复杂的数学和几何计算的” GeForce256 图像处理芯片,将更多的晶体管用作执行单元, 而不是像 CPU 那样用作复杂的控制单元和缓存,将 T&L (TRANSFORM AND LIGHTING) 等功能从 CPU 分离出来,实现了快速变换,这成为 GPU 真正出现的标志。之后几年, GPU 技术快速发展,运算速度迅速超过 CPU。2001 年英伟达和 ATI 分别推出的GEFORCE3 和 RADEON 8500,图形硬件的流水线被定义为流处理器,出现了顶点级可编程性,同时像素级也具有有限的编程性,但 GPU 的整体编程性仍然比较有限。

    第三代 GPU(2006年以后), GPU实现方便的编程环境创建, 可以直接编写程序。2006年英伟达与 ATI分别推出了 CUDA (Compute United Device Architecture,计算统一设备架构)编程环境和 CTM(CLOSE TO THE METAL)编程环境, 使得 GPU 打破图形语言的局限成为真正的并行数据处理超级加速器。

    2008年,苹果公司提出一个通用的并行计算编程平台 OPENCL(OPEN COMPUTING LANGUAGE,开放运算语言),与CUDA绑定在英伟达的显卡上不同,OPENCL 和具体的计算设备无关。

    aa231aab6bb9eb221d5df269af1811d1.png

    GPU芯片的发展阶段

    目前, GPU 已经发展到较为成熟的阶段。谷歌、 FACEBOOK、微软、 TWITTER 和百度等公司都在使用 GPU 分析图片、视频和音频文件,以改进搜索和图像标签等应用功能。此外,很多汽车生产商也在使用 GPU 芯片发展无人驾驶。不仅如此, GPU 也被应用于VR/AR 相关的产业。

    但是 GPU也有一定的局限性。深度学习算法分为训练和推断两部分, GPU 平台在算法训练上非常高效。但在推断中对于单项输入进行处理的时候,并行计算的优势不能完全发挥出来。

    3、半定制化的FPGA

    FPGA 是在 PAL、 GAL、 CPLD等可编程器件基础上进一步发展的产物。用户可以通过烧入 FPGA 配置文件来定义这些门电路以及存储器之间的连线。这种烧入不是一次性的,比如用户可以把 FPGA 配置成一个微控制器 MCU,使用完毕后可以编辑配置文件把同一个FPGA 配置成一个音频编解码器。因此, 它既解决了定制电路灵活性的不足,又克服了原有可编程器件门电路数有限的缺点。

    FPGA 可同时进行数据并行和任务并行计算,在处理特定应用时有更加明显的效率提升。对于某个特定运算,通用 CPU 可能需要多个时钟周期;而 FPGA 可以通过编程重组电路,直接生成专用电路,仅消耗少量甚至一次时钟周期就可完成运算。

    此外,由于 FPGA的灵活性,很多使用通用处理器或 ASIC难以实现的底层硬件控制操作技术, 利用 FPGA 可以很方便的实现。这个特性为算法的功能实现和优化留出了更大空间。同时 FPGA 一次性成本(光刻掩模制作成本)远低于 ASIC,在芯片需求还未成规模、深度学习算法暂未稳定, 需要不断迭代改进的情况下,利用 FPGA 芯片具备可重构的特性来实现半定制的人工智能芯片是最佳选择之一。

    功耗方面,从体系结构而言, FPGA 也具有天生的优势。传统的冯氏结构中,执行单元(如 CPU 核)执行任意指令,都需要有指令存储器、译码器、各种指令的运算器及分支跳转处理逻辑参与运行, 而 FPGA 每个逻辑单元的功能在重编程(即烧入)时就已经确定,不需要指令,无需共享内存,从而可以极大的降低单位执行的功耗,提高整体的能耗比。

    由于 FPGA 具备灵活快速的特点, 因此在众多领域都有替代 ASIC 的趋势。FPGA 在人工智能领域的应用如图所示。

    bd353f6418dbe13e4df65881ccb9d135.png

    FPGA 在人工智能领域的应用

    4、全定制化的ASIC

    目前以深度学习为代表的人工智能计算需求,主要采用 GPU、 FPGA 等已有的适合并行计算的通用芯片来实现加速。在产业应用没有大规模兴起之时,使用这类已有的通用芯片可以避免专门研发定制芯片(ASIC)的高投入和高风险。但是,由于这类通用芯片设计初衷并非专门针对深度学习,因而天然存在性能、 功耗等方面的局限性。随着人工智能应用规模的扩大,这类问题日益突显。

    GPU作为图像处理器, 设计初衷是为了应对图像处理中的大规模并行计算。因此,在应用于深度学习算法时,有三个方面的局限性:第一,应用过程中无法充分发挥并行计算优势。深度学习包含训练和推断两个计算环节, GPU 在深度学习算法训练上非常高效, 但对于单一输入进行推断的场合, 并行度的优势不能完全发挥。第二, 无法灵活配置硬件结构。GPU 采用 SIMT 计算模式, 硬件结构相对固定。目前深度学习算法还未完全稳定,若深度学习算法发生大的变化, GPU 无法像 FPGA 一样可以灵活的配制硬件结构。第三,运行深度学习算法能效低于 FPGA。

    尽管 FPGA 倍受看好,甚至新一代百度大脑也是基于 FPGA 平台研发,但其毕竟不是专门为了适用深度学习算法而研发,实际应用中也存在诸多局限:

    • 第一,基本单元的计算能力有限。为了实现可重构特性, FPGA 内部有大量极细粒度的基本单元,但是每个单元的计算能力(主要依靠 LUT 查找表)都远远低于 CPU 和 GPU 中的 ALU 模块。

    • 第二、 计算资源占比相对较低。为实现可重构特性, FPGA 内部大量资源被用于可配置的片上路由与连线。

    • 第三,速度和功耗相对专用定制芯片(ASIC)仍然存在不小差距;第四, FPGA 价格较为昂贵,在规模放量的情况下单块 FPGA 的成本要远高于专用定制芯片。

    因此,随着人工智能算法和应用技术的日益发展,以及人工智能专用芯片 ASIC产业环境的逐渐成熟, 全定制化人工智能 ASIC也逐步体现出自身的优势,从事此类芯片研发与应用的国内外比较有代表性的公司如图所示。

    1a36ed3d7c34111dfcc4d931f254d9fd.png

    人工智能专用芯片研发情况一览

    深度学习算法稳定后, AI 芯片可采用 ASIC 设计方法进行全定制, 使性能、功耗和面积等指标面向深度学习算法做到最优。

    5、类脑芯片

    类脑芯片不采用经典的冯·诺依曼架构, 而是基于神经形态架构设计,以 IBM Truenorth为代表。IBM 研究人员将存储单元作为突触、计算单元作为神经元、传输单元作为轴突搭建了神经芯片的原型。目前, Truenorth 用三星 28nm 功耗工艺技术,由 54 亿个晶体管组成的芯片构成的片上网络有 4096 个神经突触核心,实时作业功耗仅为 70mW。由于神经突触要求权重可变且要有记忆功能, IBM 采用与 CMOS 工艺兼容的相变非挥发存储器(PCM)的技术实验性的实现了新型突触,加快了商业化进程。

    7b755b4921d919c0dc95d002472a6e80.png

    福利

    扫描添加小编微信,备注“姓名+公司职位”,入驻【CSDN博客】,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!

    展开全文
  • 1. 面积与速度的平衡与互换这里的面积指一个...速度指设计芯片上稳定运行所能达到的最高频率,这个频率由设计的时序状况来决定,以及设计满足的时钟要求:PAD to PAD time 、Clock Setup Time、Clock Hold Time、...

    1. 面积与速度的平衡与互换

    这里的面积指一个设计消耗FPGA/CPLD的逻辑资源的数量,对于FPGA可以用消耗的FF(触发器)和LUT(查找表)来衡量,更一般的衡量方式可以用设计所占的等价逻辑门数。

    速度指设计在芯片上稳定运行所能达到的最高频率,这个频率由设计的时序状况来决定,以及设计满足的时钟要求:PAD to PAD time 、Clock Setup Time、Clock Hold Time、Clock-to-Output Delay等众多时序特征量密切相关。

    面积和速度这两个指标贯穿FPGA/CPLD设计的时钟,是设计质量的评价的终极标准 —— 面积和速度是一对对立统一的矛盾体。

    要求一个同时具备设计面积最小、运行频率最高是不现实的。更科学的设计目标应该是在满足设计时序要求(包括对设计频率的要求)的前提下,占用最小的芯片面积。或者在所规定的面积下,是设计的时序余量更大、频率跑的更高。这两种目标充分体现了面积和速度的平衡的思想。  

    2. 硬件原则

    硬件原则主要针对HDL代码编写而言:Verilog是采用了C语言形式的硬件的抽象,它的本质作用在于描述硬件,它的最终实现结果是芯片内部的实际电路。所以评判一段HDL代码的优劣的最终标准是:其描述并实现的硬件电路的性能,包括面积和速度两个方面。

    初学者片面追求代码的整洁、简短,是错误的,是与HDL的标准背道而驰的。正确的编码方法,首先要做到对所需实现的硬件电路胸有成竹,对该部分的硬件的结构和连接十分清晰,然后再用适当的HDL语句表达出来即可。

    3. 系统原则

    系统原则包含两个层次的含义:更高层面上看,是一个硬件系统,一块单板如何进行模块花费和任务分配,什么样的算法和功能适合放在FPGA里面实现,什么样的算法和功能适合放在DSP/CPU里面实现,以及FPGA的规模估算数据接口设计等。具体到FPGA设计就要对设计的全局有个宏观上的合理安排,比如时钟域、模块复用、约束、面积、速度等问题,在系统上模块的优化最为重要。

    比如FPGA一般触发器资源丰富,CPLD的组合逻辑资源更加丰富。FPGA/CPLD一般是由底层可编程硬件单元、BRAM、布线资源、可配置IO单元、时钟资源等构成。  

    一般的FPGA系统规划的简化流程

    c4f3a4061e97a5b07abe9d052d997de7.png

    4. 同步设计原则

    异步电路的逻辑核心是用组合逻辑电路实现,比如异步的FIFO/RAM读写信号,地址译码等电路。电路的主要信号、输出信号等并不依赖于任何一个时钟性信号,不是由时钟信号驱动FF产生的。异步时序电路的最大缺点是容易产生毛刺,在布局布线后仿真和用逻辑分析仪观测实际信号时,这种毛刺尤其明显。

    同步时序电路的核心逻辑用各种各样的触发器实现,电路的主要信号、输出信号都是由某个时钟沿驱动触发器产生出来的。同步时序电路可以很好的避免毛刺,布局布线后仿真,和用逻辑分析仪采样实际工作信号都没有毛刺。  

    5. 乒乓操作

    “ 乒乓操作 ” 是一个常常应用于数据流控制的处理技巧,乒乓操作的处理流程为:输入数据流通过 “ 输入数据选择单元 ” 将数据流等时分配到两个数据缓冲区,数据缓冲模块可以为任何存储模块,比较常用的存储单元为双口 RAM(DPRAM) 、单口 RAM(SPRAM) 、 FIFO 等。

    d09dd25451c4de8642e068e3bdb4716c.png

    6. 串并转换设计技巧

    串并转换是 FPGA 设计的一个重要技巧,它是数据流处理的常用手段,也是面积与速度互换思想的直接体现。串并转换的实现方法多种多样,根据数据的排序和数量的要求,可以选用寄存器、 RAM 等实现。

    7. 流水线操作设计思想

    首先需要声明的是,这里所讲述的流水线是指一种处理流程和顺序操作的设计思想,并非 FPGA 、 ASIC 设计中优化时序所用的 “Pipelining” 。

    流水线处理是高速设计中的一个常用设计手段。如果某个设计的处理流程分为若干步骤,而且整个数据处理是 “ 单流向 ” 的,即没有反馈或者迭代运算,前一个步骤的输出是下一个步骤的输入,则可以考虑采用流水线设计方法来提高系统的工作频率。

    8. 数据接口的同步方法

    数据接口的同步是 FPGA/CPLD 设计的一个常见问题,也是一个重点和难点,很多设计不稳定都是源于数据接口的同步有问题。在电路图设计阶段,一些工程师手工加入 BUFT 或者非门调整数据延迟,从而保证本级模块的时钟对上级模块数据的建立、保持时间要求。

    还有一些工程师为了有稳定的采样,生成了很多相差 90 度的时钟信号,时而用正沿打一下数据,时而用负沿打一下数据,用以调整数据的采样位置。这两种做法都十分不可取,因为一旦芯片更新换代或者移植到其它芯片 组的芯片上,采样实现必须重新设计。而且,这两种做法造成电路实现的余量不够,一旦外界条件变换 ( 比如温度升高 ) ,采样时序就有可能完全紊乱,造成电路瘫痪。

    想转行互联网,却又不知道如何选择,一直很迷茫、踌躇,现在不必再担忧,26门热门互联网技术免费试听5天,你可以先试听,再决定!

    前往信盈达官网,咨询课程、学习、就业、薪资等相关问题。

    展开全文
  • Dialog 半导体公司低功耗连接事业部总监Mark de Clercq回顾产品开发历程时表示,为了实现更小尺寸、更低功耗、更高功率效率的目标,Dialog 半导体公司对芯片架构进行了很多重塑,比如IP电路完全都是全新设计,虽然...
  • MCU芯片后端设计课程,正是为此而打造,基于底层技术和硬件开发设计而来的课程。其实不难发现,随着华为开始全架构的开始为芯片制程提供研发支持,底层与硬件技术也会受到更多的重视和青睐。底层和硬件的开发,包括...
  • 在半导体业者的努力下,新一代电池堆栈监控芯片已可同时比较电池电压与参考电压,达到更精密且精准的电压检测,以及可靠的电池状态评估,并大幅降低目前汽车锂电池管理系统(BMS)对软件与高流量数据传输设计的需求。...
  • ASIC和SOC设计的流程相近。ASIC主要是在PC端,现在SOC...二、功能架构设计 架构师将系统功能进行分解和细化,形成spec规范,参数化、具体化。 处理器的选择:ARM、RISC-V;总线接口:AHB、APB;功能模块,是否需要D..
  • 抓住软件硬件化的趋势,通过回顾计算机架构的历史,对比不同时期的架构设计的抉择,引出AIoT时代,芯片架构设计的新黄金时代。
  • 在半导体业者的努力下,新一代电池堆栈监控芯片已可同时比较电池电压与参考电压,达到更精密且精准的电压检测,以及可靠的电池状态评估,并大幅降低目前汽车锂电池管理系统(BMS)对软件与高流量数据传输设计的需求。...
  • AI 芯片架构设计 据报道,本月谷歌发表的一篇论文披露了被称为“第一个可转移的架构探索基础设施” Apollo,这是第一个在不同芯片上工作得越多,就越能更好地探索可能的芯片架构的程序,从而将所学到的知识转移到...
  • 作者简介 甄建勇,高级架构师(某国际大厂),十年以上半导体从业经验。主要研究领域:CPU/GPU/NPU架构与微架构设计。感兴趣领域:经济学、心理学、哲学。欢迎赐稿“Linux阅码场”,投...
  • 本文针对LTE引入后多模多频段选择对终端产品体积、成本、性能等方面所带来的挑战进行了深入分析和研究,并给出了现阶段解决上述挑战的射频芯片和射频前端参考设计架构
  • AS399X、R1000/2000等...下面对其及其其他芯片架构设计的读写器做些简单的总结(部分选自RFID世界网) 1. 选AS3992有源代码提供,R1000/R2000源代码需付费.一旦掌握源代码,选用R1000/R2000进行超高频产品的开发,是
  • CPU是整个计算机的核心,只要牵扯到大量的计算,就少不了CPU,就比如说电脑中的Intel、AMD、手机中的A系列、麒麟...CPU的芯片架构有哪些?X86架构:X86架构,是我们最常听说和接触的架构,1978年,Intel设计成功,...
  • 基于ARM V8M TrustZone技术的微处理器芯片架构,芯片中的存储空间分为安全域和非安全域两部分,用IDAU和SAU定义Master发出地址的安全属性,用MPC、PPC等组件保护存储数据和外设资源不被非法访问,实现安全域和非安全...
  • 达芬奇架构是基于AI计算功能设计的,并基于高性能3D Cube计算引擎,极大地提高了计算能力和功耗比。 根据达芬奇架构,进行了以下优化: 多核堆栈用于并行计算能力扩展 通过设计片上存储器 on-chip memory(高速缓存...
  • 本应用笔记利用基于MAXQ1850的双芯片架构的优势,探讨了高度安全的支付终端设计,分析了生产厂商在面临PCI-PEDPTS产品认证时的弱点。
  • 以及密度高、速度快、功耗低、数据保持时间长、可擦写次数无限等特点,提出了一种基于嵌入式磁旋存储芯片的固态硬盘控制器架构方案,能够大大简化控制器芯片的掉电异常流程和备电设计,节省固态硬盘内部的备电电容...
  • 密歇根大学的计算机科学家设计出一种新的处理器架构,能主动抵御未来威胁,事实上让现有的 bug 和补丁安全模式过时。-- 安华金和密歇根大学的计算机科学家设计出一种新的处理...
  • RISC-V简介 CPU主流架构:x86、ARM、RISC-V RICS-V的设计理念及优势 RISC-V的历史沿革与市场应用 RISC-V目前存在的缺点和竞争对手 国内芯片自主可控的机会
  • 逻辑电路与芯片 逻辑电路 与或非 组合逻辑电路 比较器 加法器 编码器 解码器 多路复用器 时序逻辑电路 组合逻辑电路 寄存器 D触发器 数字电路 时序逻辑电路 组合...
  • CISC 是一种微处理器指令集架构,每个指令可执行若干低阶操作,诸如从内存读取、储存、和计算操作,全部集于单一指令之中。CISC 体系结构的设计策略是使用大量的指令,包括复杂指令。与其他设计相比,在CISC中进行...
  • 利用一种新型多核DSP芯片实现TDSCDMA的基带架构设计,吴磊,,本文首先介绍了3GPP TDD方式下物理层处理的详细流程,包括物理层处理的各个主要方面,如:时隙结构、帧结构,传输信道、物理信道、�
  • 硬件架构设计是根据ISO26262-2018第5章中的附录D,再结合具体的客户要求的功能,画出系统层级的硬件拓扑结构,包含如下要求:• 主芯片选择: AD,I/O,CAN通讯,PWM口。• 供电电路的设计• 通讯方式• 存储方式• ...
  • 本文描述了一种直接集成到芯片设计流程中的详细三维温度分析,介绍了这种温度分析如何帮助芯片设计师和架构师更好地... 芯片架构设计师、电路设计师和布线设计师正面临着越来越大的压力,因为他们必须准确掌握其设计中

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,257
精华内容 902
关键字:

芯片架构设计