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

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

3天内不再提示

verilog的一些基本概念

FPGA之家 来源:FPGA之家 作者:FPGA之家 2022-07-07 09:51 次阅读

FPGA各位和数字IC设计岗位面试时常常会问下verilog的一些基本概念,做了下整理,面试时一定用得上!

1,reg与wire的区别:

相同点:

都能表示一种类型类型。

不同点:

wire

连线型数据,线网类型;

表示元件间的物理连线,不能保存数据;

线网是被驱动的,可以用连续赋值语句或把元件的输出连接到线网等方式进行驱动;

给线网提供驱动的赋值元件就是“驱动源”,线网的值由驱动源来决定;

如果线网没有连接到驱动源,线网的缺省值为“Z”。

reg:

寄存器型数据类型,通常用于对存储单元进行描述;

这种变量可以保持它们自身的数值,直到该变量被指定了新的值为止 ;在过程被赋值的变量必须定义为reg型;

只能存放无符号数;

有符号数寄存器变量:integer 。

2,$stop:

表示停止命令,常用格式为,位于initial语句中:

#时间(N) $stop;

表示在(N)个时间单位后,停止仿真

3,参数声明parameter:

在程序中需要多次使用同一个数字时,可以考虑采用参数来提高代码的简洁度,降低代码的设计量。

参数一经声明,就视其为一个常量,在整个过程中值不在改变。

其定义方式如下:

《变量名》=《变量定义》;

例如:

parameter SET_TIME_1S=27‘b50_000_000;

//把常量50000000用标识符SET_TIME_1S来代替。

用同一个 parameter 同时定义多个参数时,各个参数之间用“ , ”来隔开。

使用参数可以提高代码的可读性,也便于修改。

4,仿真时的端口定义

与模块输入端口相连的信号端口是产生仿真信号的端口,需定义为reg类型;

与模块输出端口相连的信号端口是被输出信号所驱动的端口,需要定义为wire类型;

5,阻塞与非阻塞赋值语句

(1),非阻塞赋值语句

用操作符“《=”来标识“非阻塞赋值语句”;

在begin-end串行语句中,一条非阻塞赋值语句的执行不会阻塞下一条语句额执行,也就是说,在本条非阻塞型过程赋值语句对应的赋值操作执行完之前,下一条语句也可以开始执行。

仿真过程在遇到非阻塞型过程赋值语句后,首先计算其右端赋值表达式的值,然后等到仿真时间结束时将该计算结果赋值变量。也就是说,这种情况下的赋值操作是在同一时刻上的其他普通操作结束后才得以执行。

(2),阻塞赋值语句

用操作符“=”来标识“阻塞赋值语句”;

在begin-end串行语句中的各条阻塞型过程赋值语句将它们在顺序快中的排列次序依次得以执行。

阻塞型赋值过程赋值语句的执行过程:首先计算右端赋值表达式的值,然后立即将计算结果赋值给“=”左端的被赋值变量。

原文标题:verilog的一些技巧,就靠他拿offer了!

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

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

    关注

    1602

    文章

    21326

    浏览量

    593216
  • 寄存器
    +关注

    关注

    30

    文章

    5032

    浏览量

    117741
  • 数据
    +关注

    关注

    8

    文章

    6512

    浏览量

    87601
  • Verilog
    +关注

    关注

    28

    文章

    1327

    浏览量

    109302

原文标题:verilog的一些技巧,就靠他拿offer了!

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

收藏 人收藏

    评论

    相关推荐

    接地装置的基本概念

    接地装置的基本概念
    的头像 发表于 12-05 15:49 254次阅读
    接地装置的<b class='flag-5'>基本概念</b>

    工程师必看!电路基本概念有哪些?

    工程师必看!电路基本概念有哪些?
    的头像 发表于 11-30 09:31 314次阅读
    工程师必看!电路<b class='flag-5'>基本概念</b>有哪些?

    MMU相关的基本概念

    1-MMU相关的基本概念 (1)虚拟地址相关基本概念 • 虚拟内存(Virtual Memory,VM):为每个进程提供了一致的、连续的、私有的内存空间,简化了内存管理。将主存看成是一个存储在磁盘
    的头像 发表于 11-26 16:11 353次阅读

    C语言的基本概念和编程技术

    电子发烧友网站提供《C语言的基本概念和编程技术.pdf》资料免费下载
    发表于 11-20 10:18 0次下载
    C语言的<b class='flag-5'>基本概念</b>和编程技术

    LED显示屏的几个最基本概念

    电子发烧友网站提供《LED显示屏的几个最基本概念.pdf》资料免费下载
    发表于 11-02 09:53 0次下载
    LED显示屏的几个最<b class='flag-5'>基本概念</b>

    OFDM的基本原理和PAPR的基本概念

    电子发烧友网站提供《OFDM的基本原理和PAPR的基本概念.pdf》资料免费下载
    发表于 10-25 09:57 0次下载
    OFDM的基本原理和PAPR的<b class='flag-5'>基本概念</b>

    天线的几个基本概念

    电子发烧友网站提供《天线的几个基本概念.ppt》资料免费下载
    发表于 10-07 16:17 0次下载
    天线的几个<b class='flag-5'>基本概念</b>

    ALTERA关于CCD的一些verilog实验程序分享

    ALTERA关于CCD的一些verilog实验程序
    发表于 09-26 08:03

    C语言中枚举的基本概念和常见用法

    在C语言中,枚举是一种方便组织和表示一组相关常量的工具。枚举类型有助于提高代码的可读性和可维护性。本文将介绍C语言枚举的基本概念、语法和用法,以及一些高级技巧。
    发表于 08-17 15:32 773次阅读

    时序分析Slew/Transition基本概念介绍

    今天要介绍的时序分析基本概念是Slew,信号转换时间,也被称为transition time。
    的头像 发表于 07-05 14:50 1708次阅读
    时序分析Slew/Transition<b class='flag-5'>基本概念</b>介绍

    介绍时序分析的基本概念lookup table

    今天要介绍的时序分析基本概念是lookup table。中文全称时序查找表。
    的头像 发表于 07-03 14:30 762次阅读
    介绍时序分析的<b class='flag-5'>基本概念</b>lookup table

    线性度的基本概念(1dB压缩点,IP3,OP3)

    最近再次温故线性度的相关基本概念,收益匪浅,同时对失真进行深入的研究和学习,分享下心得。本文主要介绍下线性度的基本概念,包括1dB压缩点,IP3,OP3。
    的头像 发表于 07-03 11:29 2437次阅读
    线性度的<b class='flag-5'>基本概念</b>(1dB压缩点,IP3,OP3)

    Linux内核实现内存管理的基本概念

    本文概述Linux内核实现内存管理的基本概念,在了解基本概念后,逐步展开介绍实现内存管理的相关技术,后面会分多篇进行介绍。
    发表于 06-23 11:56 523次阅读
    Linux内核实现内存管理的<b class='flag-5'>基本概念</b>

    德索讲解LVDS线束的基本概念

    德索精密工业工程师指出,线束(circuit group)为一定负载源组提供服务设备的总体,如中继线路、交换装置、控制系统等。话务理论的基本研究内容是研究话务量、呼损和线束容量三者之间的关系,因此线束是话务理论中一个重要的基本概念
    的头像 发表于 06-12 09:25 2750次阅读
    德索讲解LVDS线束的<b class='flag-5'>基本概念</b>

    Verilog边沿检测的基本原理和代码实现

    本文将从Verilog和边沿检测的基本概念入手,介绍Verilog边沿检测的原理和应用代码示例。
    的头像 发表于 05-12 17:05 2350次阅读
    <b class='flag-5'>Verilog</b>边沿检测的基本原理和代码实现