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
    +关注

    关注

    1625

    文章

    21620

    浏览量

    601185
  • 寄存器
    +关注

    关注

    31

    文章

    5292

    浏览量

    119802
  • 数据
    +关注

    关注

    8

    文章

    6800

    浏览量

    88736
  • Verilog
    +关注

    关注

    28

    文章

    1343

    浏览量

    109918

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

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

收藏 人收藏

    评论

    相关推荐

    Linux应用编程的基本概念

    Linux应用编程涉及到在Linux环境下开发和运行应用程序的系列概念。以下是一些涵盖Linux应用编程的基本概念
    的头像 发表于 10-24 17:19 159次阅读

    socket的基本概念和原理

    的通信。它是个抽象的概念,用于表示网络中的个通信实体。在计算机网络中,Socket允许应用程序通过网络发送和接收数据。Socket的概念最早由UNIX操作系统引入,后来被广泛应用于
    的头像 发表于 08-16 10:51 788次阅读

    卷积神经网络的基本概念、原理及特点

    基本概念、原理、特点以及在不同领域的应用情况。 、卷积神经网络的基本概念 卷积神经网络是种深度学习算法,它由多层卷积层和池化层堆叠而成。卷积层负责提取图像中的局部特征,而池化层则
    的头像 发表于 07-11 14:38 704次阅读

    循环神经网络的基本概念

    循环神经网络的基本概念、循环机制、长短时记忆网络(LSTM)、门控循环单元(GRU)等方面进行介绍。 循环神经网络的基本概念 循环神经网络是种时间序列模型,其基本思想是将序列数据中的每个元素(例如,单词、时间点等)作为输入,通
    的头像 发表于 07-04 14:31 523次阅读

    串口通信的基本概念

    串口通信(Serial Communications)的基本概念可以归纳为以下几个方面:
    的头像 发表于 06-12 09:28 507次阅读
    串口通信的<b class='flag-5'>基本概念</b>

    电源路径的基本概念

    电源路径是指电流从电源到负载的传输路径。在电路中,电源是提供电能的设备,而负载则是消耗电能的设备。电源路径的稳定性和效率对电路的性能和可靠性有着重要的影响。本文将介绍电源路径的基本概念。 下图展示了
    的头像 发表于 01-18 15:39 720次阅读
    电源路径的<b class='flag-5'>基本概念</b>

    数字视音频技术的基本概念

    技术的应用范围广泛,涵盖了广播电视、影视制作、多媒体通信、远程教育等多个领域。本文将详细介绍数字视音频技术的基本概念、技术原理和应用现状等方面。 数字视音频技术的基本概念 数字信号:数字信号是种离散的、不
    的头像 发表于 12-14 15:00 1445次阅读

    接地装置的基本概念

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

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

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

    ros的基本概念是什么

    基本概念: ROS是个用于在不同进程间匿名的发布、订阅、传递信息的中间件。 ROS2系统的核心部分是ROS网络(ROS Graph)。 ROS网络是指在ROS系统中不同的节点间相互通信的连接
    的头像 发表于 11-27 11:21 1719次阅读

    MMU相关的基本概念

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

    线性稳压器和开关模式电源(SMPS)的基本概念

    电子发烧友网站提供《线性稳压器和开关模式电源(SMPS)的基本概念.pdf》资料免费下载
    发表于 11-24 14:47 0次下载
    线性稳压器和开关模式电源(SMPS)的<b class='flag-5'>基本概念</b>

    分享一些SystemVerilog的coding guideline

    本文分享一些SystemVerilog的coding guideline。
    的头像 发表于 11-22 09:17 663次阅读
    分享<b class='flag-5'>一些</b>SystemVerilog的coding  guideline

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

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

    线程池基本概念与原理

    、线程池基本概念与原理 1.1 线程池概念及优势 C++线程池简介 线程池是种并发编程技术,它能有效地管理并发的线程、减少资源占用和提高程序的性能。C++线程池通过库,结合C++
    的头像 发表于 11-10 10:24 464次阅读