-1
\ $ \ begingroup \ $

我已经看到术语寄存器传输语言被用作RTL的扩展在硬件描述语言(HDL)的上下文中。特别是在这里:https://www.cl.cam.ac.uk/taching/1011/sysonchip/socdam-notes1011.pdf.(剑桥大学芯片设计与建模的系统讲义)。还看到普林斯顿大学这些幻灯片:讲座15:注册传输语言和Verilog

在我的大学,我被教导了RTL是一个设计抽象这代表寄存器转移水平并且用于表示在行为级别描述数字系统的水平,因为寄存器之间的传输。

我还听说过寄存器传输语言作为编译器(如GCC)使用的中间表示(IR)。

https://llvm.org/pubs/2010-06-06-clang-llvm.pdf.

RTL是虚构处理器体系结构的汇编语言。它被传递到后端,将其转换为目标架构的机器代码。

来自A.技术的观点,是使用术语寄存器转移HDLS正确吗?

\ \ endgroup \美元
11.
  • 2
    \ $ \ begingroup \ $ 肯定有HDL的高水平行为用途不是rtl.they模拟好,甚至可以合成好的。但是,如果您向他们申请了这个术语,您将被责任。有一定程度的描述,它将正方形落入RTL。在此级别,您可以通过使用您对HDL所需的知识来描述所需的综合来对您想要的HDL所需的特定逻辑元素(例如触发器,锁存器以及如何在它们之间传输数据)来进行一些控制。如果你正在做那种东西,那可能是RTL。 \ \ endgroup \美元-乔恩 4月29日17:32
  • 1
    \ $ \ begingroup \ $ 我猜,您可以使用RTL讨论RTL时。RTL以HDL编写。所以我想我没有追随这个问题,这可能意味着我会把它留给可以更好地遵循的人。它可能是我目前没有在适当的情况下,它与你无关,只是我。所以把责任归咎于我。 \ \ endgroup \美元-乔恩 4月29日17:48
  • 2
    \ $ \ begingroup \ $ 这些术语和缩写RTL不是标准化的。任何人都可以用它们来表达任何他们想表达的意思。 \ \ endgroup \美元-男性Elliot艾德森 4月30日11:28
  • 2
    \ $ \ begingroup \ $ @ElliotalDerson我同意这些术语不是标准化的,但问题的目的是在使用这些条款时得到建议的最佳实践。通过正确使用条款,我认为可以避免混淆。 \ \ endgroup \美元-Shashank V M. 4月30日12:05
  • 2
    \ $ \ begingroup \ $ 特别是在同一份文件中讨论语言、关卡、软件和硬件的时候。 \ \ endgroup \美元-蒂姆 4月30日12:07

4个答案4.

2
\ $ \ begingroup \ $

在编译器和综合工具的出现之前,aR.egisterT.ransfer.L.愤怒(RTL.)处理器和微型架构使用的任何符号是描述了输入,寄存器或存储器之间的数据的定时和传输。这些描述被用作与跳线电缆或开关的第一台计算机硬件进行处理。

在RTL源文本的过程中通过工具占用此术语,并将其合成为软件编译器或硬件电路的机器代码。

在推出RTL综合工具期间的某些时候,人们希望区分晶体管级,交换机级,门级和RTL级抽象,并且开始切换L.L.愤怒L.evel.(有时甚至L.ogic.)。

在过去的几十年里,RTL.已经吝啬了任何输入到合成工具中的硬件描述的一部分,而不管源代码中是否有寄存器或门。因此,您必须真正了解RTL作为工具输入的上下文,或者编码抽象的级别。我们不得不处理它。

\ \ endgroup \美元
1
  • 1
    \ $ \ begingroup \ $ 感谢您提供历史背景。我真的很感激这个答案。 \ \ endgroup \美元-Shashank V M. 4月30日17:42
4.
\ $ \ begingroup \ $

RTL是一种编码风格,其中明确包含时钟元素。之所以这样做,是因为合成器通常不会自行设计状态机。虽然它们通常擅长逻辑优化,但它们还不够成熟,无法根据抽象描述设计所有同步时间。

HDL(如VHDL和Verilog)支持RTL,但它们不等同。两种语言也支持行为描述,这更像是摘要,并允许在更多框图级别进行系统的高效模拟,以确保在系统级别和门级描述上的设计是正确的,其中每个单独的元素都明确地实例化。门级设计通常由合成器生成,但可以直接写入。

\ \ endgroup \美元
0.
    4.
    \ $ \ begingroup \ $

    以前的答案并没有直接回答这个问题,它提供了一个关于如何阅读数字设计主题的RTL的普遍理解,至少根据我的工程和教学经验。

    反对,从您提出第一个两个链接的幻灯片,我对混合概念和术语的印象深刻(注意,这只是我对幻灯片中的“RTL”术语使用的印象)。此外,这是我第一次看到“RTL”作为“寄存器传输语言”的缩写,而不是数字设计的上下文中的“寄存器传输级别”。虽然,描述了在处理器体系结构的上下文中的寄存器传输语言的第三个链接似乎正确使用它。

    我通过第一个链接的作者的出版物历史挖了一下,看看作者是否以相同的方式使用“RTL”。以下是使用“RTL”的示例最近的出版物, C。2019年:

    虽然对于硬件设计没有接受的高与Lowlevel语言的公共分类,但我们可以大致将Gatelevel网表与机器代码联系起来,RTL.要汇编语言,......

    “硬件施工语言”的节目,如凿子,基本上“打印出”RTL.或结构设计......

    进一步的实例使用相同的方式,即作为设计的抽象级别,除了一个短语之外,这可能意味着“寄存器传输语言”:

    Verilog和VHDL的生成陈述形成了那些的硬件施工语言RTLs

    因此,尽管没有扩展“RTL”,作者一直在“寄存器传输级别”的感觉中使用它而不是“寄存器传输语言”。这证实了我在幻灯片中术语混合的初始印象。

    所以回答你的问题,我会说,使用HDL的术语寄存器传输语言是不正确的。

    \ \ endgroup \美元
      1
      \ $ \ begingroup \ $
      1. IEEE Std 1800-2017的摘要中说:

      摘要:提供了SystemVerilog语言语法和语义的定义,它是统一的硬件设计,规范和验证语言。本标准包括支持在行为,寄存器传输级别(RTL)和门级抽象级别处的建模硬件,以及使用覆盖,断言,面向对象的编程和约束随机验证来写入测试窗口。该标准还向外部编程语言提供应用程序编程接口(API)。

      从此,很明显,RTL是SystemVerilog的上下文中寄存器传输级别的缩写。

      1. 在Accellera SystemC合成子集语言参考手册附录中:

      A.4.4.2

      实现RT水平

      寄存器传输级别(RTL),顾名思义,描述了来自寄存器到寄存器的函数和信号。该级别的基本元素是组合和顺序功能/逻辑单元,寄存器和信号。

      1. 我无法访问VHDL手册,以便信任此资源:

      VHDL语言标准委员会为RTL提供了此定义:“VHDL中建模电路的寄存器传输水平用于寄存器转移水平合成。寄存器传输级别是数字设计的描述级别,其中根据可以隐含的存储元件之间的数据传输,可以暗示和组合逻辑的数据传输,以及组合逻辑可以表示任何计算或者算术逻辑单元逻辑。RTL建模允许设计层次结构表示其他RTL模型的结构描述。“

      来源:https://doi.org/10.1016/B978-075067866-7/50008.1.


      我发现的这个资源也在这个问题上揭示了亮点:

      1. 对于软件开发人员,RTL可能是指注册传输语言。一个例子是在将C代码的转换为特定微处理器的机器语言的C代码中的编译器(例如GCC)生成由编译器产生的中间文件格式。
      2. 对于微处理器设计者来说,RTL可以被认为是指令集体系结构的伪代码描述,描述处理器不同元素之间的数据流。
      3. 对于FPGA设计人员,RTL代表寄存器传输级别,抽象级别的允许描述,允许特定数字电路的描述。RTL还可用于表示硬件描述语言(VHDL,Verilog,SystemC),其中“RTL”代码比“行为级别”代码更低的抽象级别,尽管两者都是HDL语言的全部范围的子集。

      来源:https://www.scienceardirect.com/topics/computer-science/register-transfer-level.

      \ \ endgroup \美元
      6.
      • \ $ \ begingroup \ $ 这个地址是否在硬件描述语言(HDLS)上下文中使用“注册传输语言[是]被用作RTL的扩展。虽然? \ \ endgroup \美元-Megasplash. 4月30日14:27
      • \ $ \ begingroup \ $ @megasplash它说RTL对不同的人来说意味着不同的东西。它还提到了VHDL委员会的RTL定义为“登记转移水平”。 \ \ endgroup \美元-Shashank V M. 4月30日14:30
      • \ $ \ begingroup \ $ 你不能说“我读到有人说委员会有人发表评论......”。问题仍然存在:它们是一个具有名为“定义”的部分的实际IEEE标准文档,并在该部分中说,首字母缩略词“RTL”具有一个且只有一个含义?据我所知,IEEE定义了“寄存器传输级别”术语但是才不是假设缩写rtl始终意味着“寄存器传输级别”。 \ \ endgroup \美元-男性Elliot艾德森 4月30日15:12
      • \ $ \ begingroup \ $ @ElliotAlderson看我回答中的编辑。在IEEE SystemVerilog标准中,提到了RTL在SystemVerilog环境下的扩展。 \ \ endgroup \美元-Shashank V M. 4月30日15:40
      • 1
        \ $ \ begingroup \ $ 实际上,他正在研究IEEE标准文件中的缩写定义的示例。 \ \ endgroup \美元-蒂姆 4月30日23:01

      你的答案

      点击“发布答案”,您同意我们的同意服务条款隐私政策Cookie政策

      不是您要找的答案?浏览其他标记的问题要么问你自己的问题