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

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

3天内不再提示

Verilog HDL中定义的26个有关门级的关键字中常用的有哪些?

FPGA之家 来源:YGOPRO de Space 作者:YGOPRO 2021-07-02 16:29 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1、结构描述形式

从电路结构的角度来描述电路模块,称为结构描述形式。

Verilog HDL中定义了26个有关门级的关键字,比较常用的有8个:

and nand nor or xor xnor buf not。

其调用格式为:

门类型 《实例名》(输出,输入1,输入2,。。。。,输入N)

eg. nand na01(na_out, a, b, c);

表示一个名字为na01的与非门,输出为na_out,输入为a,b,c。

2、数据流描述形式

对线型变量进行操作,就是数据流描述形式。数据流描述一般采用assign连续赋值语句来实现,主要用于实现组合功能。连续赋值语句右边所有的变量受持续监控,只要这些变量有一个发生变化,整个表达式就被重新赋值给左端。

其格式为:

assign L_s = R_s;

3、行为描述形式

从功能和行为的角度来描述一个实际电路,称为行为级描述形式。行为描述主要包括过程结构、语句块、时序控制、流控制四个方面,主要用于时序逻辑功能的实现。

1、过程结构

过程结构采用下面四种过程模块来实现:

initial模块 always模块 任务(task)模块 函数(function)模块

(1)initial模块

在进行仿真时,一个initial模块从模拟0时刻开始执行,且在仿真过程中只执行一次,在执行完一次后,该initial就被挂起,不再执行。如果仿真中有两个initial模块,则同时从0时刻开始执行

initial模块是面向仿真的,是不可综合的,通常被用来描述测试模块的初始化、监视、波形生成等功能。

其格式为:

initial

begin/fork

块内变量说明

时序控制1 行为语句1;

。。。。

时序控制n 行为语句n;

end/join

其中,begin/end块定义语句是串行执行的,而fork/join块语句中的语句定义是并行执行的。

(2)always模块

always模块是一直重复执行且可综合的,多个always模块是同时并行执行的。其格式为:

always@(敏感时间列表)

begin/fork

块内变量说明

时序控制1 行为语句1;

。。。。

时序控制n 行为语句n;

end/join

2、语句块

语句块就是在initial或always模块中位于begin.。.end/fork.。.join块定义语句之间的一组行为语句。

(1)begin.。.end

串行块,块内的语句逐次逐条顺序执行。

(2)fork.。.join

并行块,块内的语句都是各自独立地同时开始执行。

3、时序控制

Verilog HDL提供两种类型的显示时序控制:延时控制和事件控制。

(1)延时控制

其格式如下:

# 延时数 表达式;

延时控制只能在仿真中使用,是不可综合的。在综合时,所有的延时控制都会被忽略。

(2)事件控制

分为两种:边沿触发事件和电平触发事件控制。

边沿触发:上升沿posedge,下降沿negedge。

4、流控制

流控制语句包括3类:跳转、分支、循环。

(1)if语句

else分支可缺省,但会生成本不期望的锁存器,所以不要省去。

(2)case语句

其格式如下:

case(变量)

情况1:语句1 ;

。。。。。

情况n:语句n;

default: 语句n+1;

endcase

default语句缺省也会生成锁存器,所以不要省去。

if语句是串行执行的,case语句是并行执行的,选用if语句要占用额外的硬件资源。

(3)循环语句

for循环。

while循环。

forever循环:forever语句必须写在initial模块中,用于产生周期性波形。

repeat循环:执行指定的循环数,如果循环计数表达式的值不确定(x或z),那么循环次数按0处理,其格式:

repeat(表达式)

begin

。。。。。

end

编辑:jq

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

    关注

    17

    文章

    126

    浏览量

    51329

原文标题:Verilog HDL语言(2) : Verilog HDL语言的描述语句

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Temu跨境电商按关键字搜索Temu商品API的应用及接口请求示例

    Temu跨境电商按关键字搜索Temu商品API的应用及接口请求示例 Temu跨境电商按关键字搜索Temu商品API的应用场景 Temu跨境电商平台按关键字搜索Temu商品API的主要应用场景包括但不
    的头像 发表于 11-29 15:08 98次阅读

    C语言的编程技巧

    成员是一未知大小的数组,适用于动态分配内存并关联一可变长度的数组。‌ ‌3、匿名结构体和联合体‌:C语言允许在结构体或联合体定义
    发表于 11-27 06:46

    哪些场合会用到volatile关键字?

    当你理解 volatile关键字的含义之后,你就能明白,其实很多场合都能用到 volatile关键字。 1.全局变量单片机开发,难免会用到全局变量。一些初级工程师,更是全局变量满天飞。这种情况下
    发表于 11-25 08:19

    天眼查平台关键字搜索企业数据API接口技术指南

    ​ 一、接口概述 天眼查提供的企业搜索API接口,支持通过关键字查询企业工商信息、经营状态等核心数据。该接口采用RESTful架构,返回JSON格式数据。 二、接口认证 调用需使用API密钥认证
    的头像 发表于 11-21 11:48 388次阅读
    天眼查平台<b class='flag-5'>关键字</b>搜索企业数据API接口技术指南

    亚马逊平台根据关键字搜索商品API接口

    ​  在电商开发,集成亚马逊平台的商品搜索功能是常见需求。通过亚马逊的Product Advertising API(PAAPI),开发者可以根据关键字高效检索商品信息。本技术帖将逐步介绍如何调用
    的头像 发表于 11-05 15:00 124次阅读
    亚马逊平台根据<b class='flag-5'>关键字</b>搜索商品API接口

    如何利用Verilog HDL在FPGA上实现SRAM的读写测试

    本篇将详细介绍如何利用Verilog HDL在FPGA上实现SRAM的读写测试。SRAM是一种非易失性存储器,具有高速读取和写入的特点。在FPGA实现SRAM读写测试,包括设计SRAM接口模块
    的头像 发表于 10-22 17:21 3958次阅读
    如何利用<b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b>在FPGA上实现SRAM的读写测试

    亚马逊 SP-API 深度开发:关键字搜索接口的购物意图挖掘与合规竞品分析

    本文深度解析亚马逊SP-API关键字搜索接口的合规调用与商业应用,涵盖意图识别、竞品分析、性能优化全链路。通过COSMO算法解析用户购物意图,结合合规技术方案提升关键词转化率,助力卖家实现数据驱动决策,安全高效优化运营。
    的头像 发表于 10-17 14:59 344次阅读

    阿里巴巴国际站关键字搜索 API 实战:从多条件筛选到商品列表高效获客

    ​​在跨境电商数据采集场景,通过关键字精准搜索商品列表是基础且核心的需求。本文将聚焦阿里巴巴国际站的关键字搜索接口,详细介绍如何构建多条件搜索请求、处理分页数据、解析商品列表信息,并提供可直接复用的 Python 实现方案,帮
    的头像 发表于 08-20 09:22 684次阅读
    阿里巴巴国际站<b class='flag-5'>关键字</b>搜索 API 实战:从多条件筛选到商品列表高效获客

    IEC 62353中常用的术语和定义

    本文详细解读IEC 62353标准关键术语,包括被测设备(DUT/EUT)、应用部分(B/BF/CF型)、泄漏电流、微电击与宏电击等定义,帮助理解医疗电气设备安全测试要求。
    的头像 发表于 07-29 17:27 546次阅读

    micro 关键字搜索全覆盖商品,并通过 API 接口提供实时数据

    micro 关键字搜索全覆盖商品”并通过 API 接口提供实时数据
    的头像 发表于 07-13 10:13 685次阅读

    单片机编程关键字之volatile

    volatile 修饰的变量是说这变量可能会被意想不到地改变。通常对于程序员而言,单片机 中用的就算常见了volatile 是易变的,不稳定的意思。其实对于很多人来说,根本没见过这个关键字,不 知道
    发表于 04-02 13:47 2次下载

    FPGA Verilog HDL语法之编译预处理

    Verilog HDL语言和C语言一样也提供了编译预处理的功能。“编译预处理”是Verilog HDL编译系统的一组成部分。
    的头像 发表于 03-27 13:30 1088次阅读
    FPGA <b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b>语法之编译预处理

    一文详解Verilog HDL

    Verilog HDL(Hardware Description Language)是一种硬件描述语言,用于从算法、门到开关的多种抽象
    的头像 发表于 03-17 15:17 3780次阅读
    一文详解<b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b>

    Verilog 与 ASIC 设计的关系 Verilog 代码优化技巧

    Verilog与ASIC设计的关系 Verilog作为一种硬件描述语言(HDL),在ASIC设计扮演着至关重要的角色。ASIC(Application Specific Integr
    的头像 发表于 12-17 09:52 1439次阅读

    Verilog与VHDL的比较 Verilog HDL编程技巧

    Verilog 与 VHDL 比较 1. 语法和风格 VerilogVerilog 的语法更接近于 C 语言,对于 C 语言背景的工程师来说,学习曲线较平缓。它支持结构化编程,代
    的头像 发表于 12-17 09:44 2691次阅读