寄存器传输级(停车场车位显示系统)
寄存器传输级(停车场车位显示系统)
FPGA"代替"CPU。FPGA英文全称是Field Programmable Gate Array,即现场可编程门阵列。本文就为你科普一下FPGA的一般设计流程。
作者:汪文祥 邢金璋
来源:华章科技
FPGA是一种特殊的集成电路,这意味着它首先是一种集成电路。现在的集成电路绝大多数都是晶体管集成电路,大家日常接触最多的是CMOS晶体管集成电路。
晶体管集成电路是什么?通俗来说,就是用金属导线把许许多多由晶体管构成的逻辑门、存储单元连接成一个电路,具备一定的逻辑功能。
不过,各位读者设计数字逻辑电路时,是否进行过用导线连接晶体管的实验?显然没有。大家一般是用一种硬件描述语言(比如VerilogHDL)写写代码,然后运行综合软件(比如Vivado),电路就设计出来了。
这一流程并不是各类课程实验中所独有的,它其实与现在工业界常见的ASIC设计流程是一致的。FPGA的设计流程一般有5个步骤:
电路设计。
代码编写。
功能仿真。
综合实现。
上板调试。
01 电路设计
首先,需要根据需求规格制定电路设计方案。例如,需求是设计一个MIPS CPU,我们要把这个需求一步步分解、细化,得到一个能够满足需求的电路设计方案。
我们要决定分成几个流水级,这里放几个触发器,那里放几个运算器,它们之间怎么连接,整个电路的状态转换行为是怎样的,等等。
通常,我们将电路设计细化到寄存器传输级(Register Transfer Level,RTL)就可以了,无须精确到逻辑门级别或是晶体管级别。02 代码编写
代码编写阶段的工作是把第1步中完成的电路设计方案用硬件描述语言(Hardware Description Language,HDL)表述出来,成为一种EDA工具能够看得懂的形式。03 功能仿真
功能仿真阶段的工作是对第2步中用HDL语言描述出来的设计进行功能仿真验证。所谓功能仿真验证,就是通过软件仿真模拟的方式查看电路的逻辑功能行为是否符合最初的设计需求。
通常我们给电路输入指定的激励,观察电路输出是否符合预期,如果不符合则表明电路逻辑功能有错误。这种错误要么是因为第1步的电路设计就有错误,要么是第2步编写的代码不符合电路设计。
发现功能错误后需要返回前面相应的步骤进行修正,然后再按照流程一步步推进。如此不断迭代,直到不再发现错误,就可以进入下一阶段了。
需要指出的是,由于我们对电路是在RTL级建模,因此功能仿真阶段不考虑电路的延迟。
04 综合实现
综合实现阶段完成从HDL代码到真实芯片电路的转换过程。这个过程类似于编译器把高级语言转换成目标机器的二进制代码的过程。
这个阶段分为综合和实现两个子阶段。
综合阶段将HDL描述的设计编译为由基本逻辑单元连接而成的逻辑网表,不过此时的网表还不是最终的门级电路网表。
实现阶段才会将综合出的逻辑网表映射为FPGA中的具体电路,即将逻辑网表中的基本逻辑单元映射到FPGA芯片内部固有的硬件逻辑模块上(称为"布局")。随后,基于布局的拓扑,利用FPGA芯片内部的连线资源,将各个映射后的逻辑模块连接起来(称为"布线")。
如果整个综合实现过程没有发生异常,EDA工具将生成一个比特流(Bitstream)文件。通俗来说,这个比特流文件描述的就是最终的电路,但这个文件只有FPGA芯片能读得懂。05 上板调试
俗话说:"是骡子是马拉出来遛遛"。不管功能仿真得多正确,最终还是要看实际电路能否正常工作。
在上板调试阶段,首先要将综合实现阶段生成的比特流文件下载到FPGA芯片中,随后运行电路观察其工作是否正常,如果发生问题就要调试、定位出错的原因。
小结一下,上面介绍的FPGA一般设计流程给出了总的脉络,以便读者先建立一个正确的整体概念。FPGA设计流程中还包含很多细节,可参考《CPU设计实战》一书。关于作者:汪文祥,工学博士,龙芯中科技术股份有限公司首席工程师,中国科学院大学岗位教授。主要研究方向为处理器体系结构设计、处理器验证及计算机系统性能分析优化等,参与了多项国家"核高基"、863 和 973 项目,在国内外各种期刊会议发表文章十余篇,申请专利数十项,授权专利十余项。
邢金璋,硕士毕业于中国科学院计算技术研究所,2015年加入龙芯中科技术股份有限公司,从事处理器核结构设计工作,是龙芯小、中系列处理器核演进版本的主要结构设计者之一。近年来,积极参与"龙芯杯"全国大学生计算机系统能力培养大赛的技术支持、培训等工作。
本文摘编自《CPU设计实战》,经出版方授权发布。
旅游法解读(旅游方面的知识)旅游法解读(旅游方面的知识)2011年起,我国将每年的5。19这一天确定为中国旅游日,到今年,我们迎来第十一个中国旅游日啦。在我们带着诗与好心情纵情于山水之间寻觅难得的安宁聆听着鸟
菱悦v3多少钱(老款东南菱悦v3)太平洋汽车网新车频道日前我们获悉,东南V3菱悦喜气版正式上市,新车搭载1。5L动力,售价为6。09万元。(配图为2015款东南V3幸福版)东南V3菱悦喜气版指导售价车型售价(万元)
买多网首页(今天买买电商平台怎么样)买多网首页(今天买买电商平台怎么样)一项目背景用户成长体系是青桔业务中用户留存最核心的功能模块,其中包含了各种玩法,如头衔成长值权益任务勋章等一系列手段达到与用户之间的互动及荣誉透
开言英语怎么样(开言英语的C1测试)72岁的上海夏奶奶有个洋气的英文名,叫Sue。2018年9月在开言英语学习后,她成了开言英语上最摩登最励志的典范。她退休后学习钢琴,过了十级后,能在老年大学教课她学习英语,刻苦到会
2021MercedesAMGGT4Door获得更多实惠的入门版如果您一直在追求梅赛德斯AMGGT4门,最便宜的购买方法是购买GT53模型,价格为99,950。GT53由3。0升轻度混合动力直列六缸发动机提供动力,可产生429马力,是GT4门阵
找回微信聊天记录软件(微信好友聊天记录恢复软件)找回微信聊天记录软件(微信好友聊天记录恢复软件)如今微信已近成为了相当普遍的聊天工具了,在人们的生活中扮演着十分重要的角色,上至六旬大妈,下至五岁儿童,几乎人人都有一个属于自己的微
微信不小心清空聊天记录怎么找回(有没有软件可以恢复微信聊天记录)微信不小心清空聊天记录怎么找回(有没有软件可以恢复微信聊天记录)微信现已成为咱们最常用的谈天东西,由于微信的运用率非常高,咱们也常常会拾掇一下微信谈天记载和其他软件的缓存文件来腾出
色相饱和度(色相饱和度你真的知道怎么使用吗?)色相饱和度(色相饱和度你真的知道怎么使用吗?)昨天讲了反向的运用方法,今天给大家讲色相饱和度一想要掌握色相饱和度必须知道色彩的三大要素色相饱和度明度。色相是颜色的相貌,就是大家熟知
什么是色相(互补色一共有几对)基础扎牢固,画画不蕉绿今天是巩固基础的一天!上一篇说到了什么是二次色三次色三原色,这一篇主要分享色彩的三要素HSB冷暖色的定义以及如何区分邻近色对比色互补色。什么是HSB?如何定义
什么是硬盘(电脑硬盘是哪个)什么是硬盘(电脑硬盘是哪个)电脑硬盘怎么区分?硬盘是电脑的储存硬件之一,其分为机械硬盘和固态硬盘。机械硬盘有一个或者多个铝制或者玻璃制成的碟片,然后在碟片外面覆盖带磁性的材料。固态
哪里学豆腐脑(制作豆腐脑的步骤)导读最近很多粉丝给我说,春天给孩子做的豆浆,孩子很不愿意喝了,希望我能教他制作正宗的豆腐脑!说到豆腐脑,这位粉丝真的找对人了,胡师傅曾经跟着我们村一位做早餐的大爷学习过做豆腐脑,而
兰州布菌抗体阳性事件追这两天关于兰州布菌抗体阳性事件追在网上的热度是非常高的,很多网友们也都是非常关注兰州布菌抗体阳性事件追这个事情,为此小编也是在网上进行了一番搜索查阅相关的信息,那么如果说有感兴趣的
抗原是什么?(什么是抗原?)抗原是什么?(什么是抗原?)免疫系统对于人体来说至关重要,是机体执行免疫功能及免疫应答的重要系统。免疫系统具有的功能有协调机体其他系统共同维持机体生理平衡和内环境稳定识别并排除抗原
糖类抗原153是什么(糖类抗原是什么)CA153也是大家非常熟悉的肿瘤标志物,在临床上,你是否遇到过以上问题,别急,本文将从以下几个方面尝试对CA153进行解读CA153多高才算高?哪些情况下会升高?CA153升高的原
自体血清注射美容)(自体血清除皱效果好吗)自体血清注射美容)(自体血清除皱效果好吗)一开始我以为身边的朋友都还没开始接触轻医美这一块真正问了才知道,人家连热玛吉都试过了我简直太OUT了吧!只有自己变丑了不是没有道理的相信不
血清是什么?(什么是血清白蛋白?)血清是什么?(什么是血清白蛋白?)现在很多人都很注重自己的身体健康问题,为了使自己的身体不受到健康问题的困扰,我们经常会定期的进行体检,一旦检查提示血清白蛋白偏高或者偏低,都是应该
血清前白蛋白偏高(血清白蛋白偏高的原因是什么?)血清前白蛋白偏高(血清白蛋白偏高的原因是什么?)血清白蛋白又叫做血清清蛋白,该物质主要由身体里面的肝脏合成,是身体里面补充血浆的最好物质,是血浆含量最多的蛋白质物质,血清白蛋白对于
CAT是什么(血清CAT是什么)要区别Cat。1和Cat。4,首先我们要知道Cat是什么。Cat是Category的缩写,中文意思是类别,种类。Cat后面的数字即代表不同的种类,3GPP将不同种类的网络用Cat。
为什么很少人用炒菜机(aca炒菜机怎么用)快餐店顾名思义,以快餐为主,而出餐速度是关键,目前快餐店多以连锁店的形式出现在我们的面前,而这些快餐店是如何提高出餐效率的,在这里就不得不提到一款炒菜利器,自动炒菜机,那么这款自动
乙肝哪里看(乙肝抗体)如何自测自己有没有感染乙肝?乙肝并没有明显的特征性的征兆,是没有办法通过自身的表现去看是否有乙肝的感染,是否是乙肝病毒携带者。想要明确,或者是想要排除是否是乙肝病毒携带,就一定要进
南京新增无症状感染者抗体阳性近日南京新增无症状感染者抗体阳性登录了热搜,也是在网上引起了网友们的关注,那么很多小伙伴可能还不清楚具体的情况如何,小编也是在网上查阅了一些信息,那么接下来就分享给大家来了解下南京
癌胚抗原高(癌胚抗原升高,是得了癌症吗?)癌胚抗原高(癌胚抗原升高,是得了癌症吗?)两个星期来,小陈没有睡过一天好觉,一直被脑海里的肿瘤二字折磨。两个星期前,单位组织体检,小陈的肿瘤标志物结果显示指标CEACA199都升高