0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于HDL和行为语句详解学习

电子工程师 来源:至芯科技 作者:至芯科技 2021-04-15 15:44 次阅读

关于HDL和行为语句:《一》

1. Verilog HDL和VHDL中,HDL的英文解释(缩写拼词)是:

Verilog HDL(Verilog Hardware Description Language),这里的D是描述Description的首字母。

VHDL(Very High-Speed Integrate Circuit Hardware Description Language),这里的D也是描述的首字母。

也就是说,HDL的D,是描述的意义。HDL也就是硬件描述语言。

2. 为了支持Soc的验证,支持数模混合,新的System Verilog加入了HVL(Hardware Verification Language),即硬件验证语言。

3. 合并之前的硬件描述语言功能,称为HDVL(Hardware Description and Verification Language)

4. 之后EDA,还可能将Design for X的更多功能引入语句,为了不至于在增加缩写词的长度,现代的EDA文献会议中,称HDL为(Hardware Design Language),即硬件设计语言。这就涵盖了 EDA语言之后的各种DFx功能。

关于HDL和行为语句:《二》

1. 行为语句Behaviour Statements,是EDA的一次飞跃。它描述电路的外在行为,而不必描述电路的动作细节。

2. 电路的动作和实现细节,交给EDA自动完成,从而解放了设计者。

3. 因此,国外教程解释,行为语句描述电路“What do”,而不需要描述“How to do”。

4. Verilog对行为语句的描述有特定的要求:

《1》。 行为语句必须放置在一个特定的语法架构中,EDA才对其进行处理(识别为需要综合的行为);这个特定语法架构,称为行为体(Behaviour Body)

《2》。 Verilog语法提供两个行为体,一个是循环行为体(Cycle-Behaviour body);一个是初始化行为体(Initial -Behaviour body)

《3》。 我们知道并常使用的always语句块,就是循环行为体。Verilog的行为语句,只有放置在它的beginj-end块之中,才能够被EDA识别。

5. Verilog的行为语句另一个要素是:行为语句驱动的信号,必须声明为reg。这里的reg是一个EDA工具的一个软件对象,并不一定是真的会综合为Register。

6. Verilog行为语句的第三个要素是:非综合目的描述时,需要信号敏感表支持,非综合目的时,循环行为体将在电脑中执行算法,仅仅当信号敏感表中列出的信号发生变更时,非综合目的的软件才执行一次该行为体,从而减轻CPU开销。

7. 但Verilog的信号敏感表,有时也与综合有关(VHDL与综合无关)。即信号敏感表中若有而且有一个沿敏感信号,在循环体中未被引用,则Verilog将为之综合一个寄存器,用这个寄存器捕获行为体中的所有输出信号,并用唯一未被引用的沿敏感信号作为时钟

一定要实际做一遍,才能得到体验。所以再次引用林彪的那句话:

“理解的要执行”

“暂时不理解的也要执行”

“在执行中加深理解”

加油,各位!

原文标题:关于HDL和行为语句

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • HDL
    HDL
    +关注

    关注

    8

    文章

    323

    浏览量

    47101

原文标题:关于HDL和行为语句

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    鸿蒙TypeScript入门学习第6天:【条件语句

    条件语句用于基于不同的条件来执行不同的动作。 TypeScript 条件语句是通过一条或多条语句的执行结果(True 或 False)来决定执行的代码块。
    的头像 发表于 04-01 13:51 425次阅读
    鸿蒙TypeScript入门<b class='flag-5'>学习</b>第6天:【条件<b class='flag-5'>语句</b>】

    assign语句和always语句的用法

    Assign语句和Always语句是在硬件描述语言(HDL)中常用的两种语句,用于对数字电路建模和设计。Assign语句用于连续赋值,而Al
    的头像 发表于 02-22 16:24 479次阅读

    #2024,立Flag了嘛? #学习spinal HDL还需要学习对应的Scala语言

    学习spinal HDL还需要学习对应的Scala语言,但是spinal HDL直接贴近硬件编程,不知道对于学习spinal
    发表于 01-21 11:11

    单片机中for语句的运用

    单片机中的for语句是一种常见的循环控制结构,用于重复执行一段代码块,可以简化程序的编写和减少代码量。本文将详细介绍单片机中for语句的运用。 一、for语句的基本结构和功能 for语句
    的头像 发表于 01-05 14:02 602次阅读

    java中的switch语句 case的取值

    : // 当expression的值与value2的值匹配时执行的代码块 break ;... default : // 当expression的值与所有case中的值都不匹配时执行的代码块 } 以下是关于switch语句中case的取值的详细解释: 取值可以是整
    的头像 发表于 11-30 16:05 327次阅读

    敏矽微电子Cortex-M0学习笔记08——基本定时器详解

    敏矽微电子Cortex-M0学习笔记08——基本定时器详解
    的头像 发表于 09-26 17:13 568次阅读
    敏矽微电子Cortex-M0<b class='flag-5'>学习</b>笔记08——基本定时器<b class='flag-5'>详解</b>

    敏矽微电子Cortex-M0学习笔记07——串口通信详解

    敏矽微电子Cortex-M0学习笔记07——串口通信详解
    的头像 发表于 09-26 17:11 726次阅读
    敏矽微电子Cortex-M0<b class='flag-5'>学习</b>笔记07——串口通信<b class='flag-5'>详解</b>

    敏矽微电子Cortex-M0学习笔记04——GPIO详解及应用实例

    敏矽微电子Cortex-M0学习笔记04——GPIO详解及应用实例
    的头像 发表于 09-26 17:07 598次阅读
    敏矽微电子Cortex-M0<b class='flag-5'>学习</b>笔记04——GPIO<b class='flag-5'>详解</b>及应用实例

    Python条件和条件语句

    if语句 对于if语句,若条件判定为真,那么后面的语句块就会被执行。若条件判定为假,语句块就会被跳过,不会执行。 1 #if语句 2 age
    的头像 发表于 09-12 16:45 355次阅读

    Python中什么是语句

    条件判断 语句块 什么是语句块呢? 语句块是在条件为真(条件语句)时执行或者执行多次(循环语句)的一组
    的头像 发表于 09-12 16:41 623次阅读

    C语言中if语句、if-else语句和switch语句详解

    在C语言中,有三种条件判断结构:if语句、if-else语句和switch语句
    发表于 08-18 16:36 1013次阅读
    C语言中if<b class='flag-5'>语句</b>、if-else<b class='flag-5'>语句</b>和switch<b class='flag-5'>语句</b><b class='flag-5'>详解</b>

    条件语句/循环语句simulink的实现方法(一)

    条件语句和循环语句是计算机编程中常用的两种控制结构
    的头像 发表于 07-21 16:48 6451次阅读
    条件<b class='flag-5'>语句</b>/循环<b class='flag-5'>语句</b>simulink的实现方法(一)

    嵌入式C语言中的goto语句详解

    goto语句被称为C语言中的跳转语句。用于无条件跳转到其他标签。它将控制权转移到程序的其他部分。
    发表于 07-19 16:08 1612次阅读
    嵌入式C语言中的goto<b class='flag-5'>语句</b><b class='flag-5'>详解</b>

    机器学习模型:用于使用边缘脉冲软件预测大象的行为

    电子发烧友网站提供《机器学习模型:用于使用边缘脉冲软件预测大象的行为.zip》资料免费下载
    发表于 06-29 14:47 0次下载
    机器<b class='flag-5'>学习</b>模型:用于使用边缘脉冲软件预测大象的<b class='flag-5'>行为</b>

    Verilog中的If语句和case语句介绍

    我们在上一篇文章中已经看到了如何使用程序块(例如 always 块来编写按顺序执行的 verilog 代码。 我们还可以在程序块中使用许多语句来控制在我们的verilog设计中信号赋值的方式
    的头像 发表于 05-11 15:37 3120次阅读
    Verilog中的If<b class='flag-5'>语句</b>和case<b class='flag-5'>语句</b>介绍