精选文章 fpga设计中行为级和RTL级的区别

fpga设计中行为级和RTL级的区别

作者:qiuchangyong 时间: 2019-11-11 10:55:35
qiuchangyong 2019-11-11 10:55:35

RTL级,register transfer level,指的是用寄存器这一级别的描述方式来描述电路的数据流方式;而行为级,Behavior级,指的是仅仅描述电路的功能而可以采用任何verilog语法的描述方式。鉴于这个区别,RTL级描述的目标就是可综合,而行为级描述的目标就是实现特定的功能而没有可综合的限制。

行为级是RTL的上一层,行为级是最符合人类逻辑思维方式的描述角度,一般基于算法,用C/C++来描述。从行为级到RTL级的转换,一般都是由IC设计人员手工翻译。

这个过程繁琐,工作量很大,特别是随着数字系统的复杂性提升,这样的纯手工"翻译"过程容易出错,且使得开发周期变长。一批高级综合工具应运而生。如Menter Graphics的高层次综合工具Catapult C Synthesis。能够将数字系统的行为级描述映射为RTL设计,并满足给定的目标限制。从层次由上到下,数字系统的设计过程为:

     Idea->行为级描述->rtl描述->门级网表->物理版图

行为级的描述更多的是采取直接赋值的形式,只能看出结果,看不出数据流的实际处理过程。其中又大量采用算术运算,延迟等一些无法综合的语句。常常只用于验证仿真。

RTL级的描述就会更详细一些,并且从寄存器的角度,把数据的处理过程表达出来。可以容易地被综合工具综合成电路的形式。

行为级描述可是说是RTL的上层描述,比RTL更抽象。行为描述不关心电路的具体结构,只关注算法。

有行为综合工具,可以直接将行为级的描述综合为RTL级的,比如Behavioral Compiler。

在硬件设计中有一句著名的话:thinking of hardware。RTL在很大程度上是对流水线原理图的描述。哪里是组合逻辑,哪里是寄存器,设计者应该了然于胸。组合逻辑到底如何实现,取决于综合器和限制条件。

rtl级可以理解为,可以直接给综合工具生成你要的网表的代码,而行为级则不行。比如real可以用于行为级,而不能用于rtl级!

行为级 is for testbench for modelling.
RTL is for synthesis

语法块如果可以被综合到gate level,就是RTL的。否则就是behavior level的。
同样是for语句,如果循环条件是常数,就是RTL的,如果是变量,就是behavior的。

行为级不考虑电路的实现,不考虑综合

RTL级描述数据在寄存器层次的流动模型。
always 属于行为级模型,是最基本的行为模型,是可以综合的。

综合与RTL或者行为级没有必然联系,虽然大多数行为模型不能综合

勿删,copyright占位
分享文章到微博
分享文章到朋友圈

上一篇:Spring Cloud Alibaba 教程(基于首个毕业版)(六):Sentinel限流、降级等规则介绍

下一篇:Spring Cloud Alibaba 教程(基于首个毕业版)(五):接入Sentinel控制台

您可能感兴趣

  • 图森未来如何借助云缩短60%模型训练时间

    简介: 阿里云飞天AI加速器+Serverless容器,帮助图森未来提升资源利用率。 图森未来(TuSimple)成立于2015年,是一家专注于L4级无人驾驶卡车技术研发与应用的人工智能企业,已经实现卡车在干线物流场景和半封闭枢纽场景下的无人干预驾驶。图森未来品牌旗下产品——图森未来 L4 级别无人驾驶卡车能够实现环境感知、定位导航、决策控制等自动驾驶核心功能,可应用于高速公路货运和港内集装...

  • 大型架构及配置技术ansible(一)之ansible基础,ad-hoc,批量配置管理,ansible七种武器,JSON简介,YAML简介

    一、ansible基础 6台虚拟机(2cpu,1.5G以上内存,10G以上硬盘,1块网卡) 主机名 IP地址 角色 ansible40 192.168.4.40/24 管理主机 web41 192.168.4.41/24 托管主机 web42 192.168.4.42/24 托管主机 db43 192.168.4.43/24 托管主机 db44 192.168.4.44/24 托管主机 ca...

  • 中国第五个直辖市,我来说两句

    中国第五个直辖市,我来说两句 最近网上有很多网民在讨论新的直辖市的问题,很多人鼓吹说深圳很有可能成为第五个直辖市,有人说武汉应该成为直辖市。去年回河南长葛岳父家探亲,发现本地人在说郑州可能成为直辖市。实际上,谁是最新的直辖市,是一个老生常谈的问题。不仅仅大城市,很多二三线城市的市民,都在网上表达希望自己所在的城市成为新的直辖市的愿望和幻想。 众所周知,想成为一个直辖市是有设立条件的。首先它要...

  • 前端实习生面试题分析(一)

    最近面试拿了很多公司的实习offer,只要是面试的都通过了。 接下来就分析下面试题,也能给自己一个提升吧,以便后续的面试更轻车熟路些,题目没什么顺序,想起什么写什么,还有我面试过程中的一些小套路。 估计要写好多,每天写几道题,而且有些经验性的东西也不容易写出来 这篇写的都是类似一些概念性的理论东西。 1.JS防抖和节流 先说为什么要做防抖和节流,针对一些会频繁触发的事件,像scroll、re...

  • 【STM32F429开发板用户手册】第38章 STM32F429的FMC总线应用之是32路高速IO扩展

    最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=93255 第38章 STM32F429的FMC总线应用之是32路高速IO扩展 本章教程为大家讲解利用STM32429的FMC总线扩展出32路高速IO,且使用简单,实际项目中也比较有实用价值。 目录 第38章 STM32F429的FMC总线应用之是32路高速IO扩展 38.1 初...

  • Navicat Premium for Mac(数据库管理工具)15中文版

    Navicat Premium for mac是一个可多重连接的数据库管理工具,Navicat的功能足以符合专业开发人员的所有需求,但是对数据库服务器的新手来说又相当容易学习。Navicat Premium Mac可让你以单一程序同時连接到目前世面上所有版本的主流数据库并进行管理和操作,支持的数据库有: MySQL、SQL Server、SQLite、Oracle 及 PostgreSQL。...

  • Redis到底该怎么搞呢?主从复制以及redis复制演进全面进攻

    一、前言 通过持久化功能,Redis保证了即使在服务器宕机情况下数据的丢失非常少。但是如果这台服务器出现了硬盘故障、系统崩溃等等,不仅仅是数据丢失,很可能对业务造成灾难性打击。为了避免单点故障通常的做法是将数据复制多个副本保存在不同的服务器上,这样即使有其中一台服务器出现故障,其他服务器依然可以继续提供服务。当然Redis提供了多种高可用方案包括:主从复制、哨兵模式的主从复制、以及集群。 本...

  • 3dmax高级建模方法总结

    3Dmax有三种高级建模技术:多边形POLYGON建模、面片PATCH建模、NURBS(非均匀有理B样条曲线)建模。    01多边形建模    多边形建模是最为传统和经典的一种建模方式。3Dmax多边形建模方法比较容易理解,非常适合初学者学习,并且在建模的过程中用者有更多的想象空间和可修改余地。3Dmax中的多边形建模主要有两个命令:Editable Mesh(可编辑网格)和Editabl...

华为云40多款云服务产品0元试用活动

免费套餐,马上领取!
CSDN

CSDN

中国开发者社区CSDN (Chinese Software Developer Network) 创立于1999年,致力为中国开发者提供知识传播、在线学习、职业发展等全生命周期服务。