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

    关注

    1663

    文章

    22494

    浏览量

    638978
  • 寄存器
    +关注

    关注

    31

    文章

    5618

    浏览量

    130386
  • 数据
    +关注

    关注

    8

    文章

    7347

    浏览量

    95005
  • Verilog
    +关注

    关注

    30

    文章

    1374

    浏览量

    114709

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    开关电源的基本概念和分析方法

    开关电源的基本概念和分析方法
    发表于 04-10 15:20 0次下载

    如何使用 powerquad 加速器中的一些功能以及 CMSIS 原始实现中的一些功能?

    )。 如何使用 powerquad 加速器中的一些功能以及 CMSIS 原始实现中的一些功能。 Example: I do not want to call arm_mat_trans_q15 powerquad
    发表于 04-03 06:37

    爬壁机器人磁铁的一些常见问题

    爬壁机器人近几年比较火,它是类能够在垂直墙面、天花板、倾斜表面上移动和作业的特种机器人,今天我们不聊其它,只聊下关于磁吸附应用中的磁铁,以下是小编整理的关于爬壁机器人中磁铁的一些常见问题。
    的头像 发表于 01-09 10:06 408次阅读
    爬壁机器人磁铁的<b class='flag-5'>一些</b>常见问题

    关于六类网线一些问题的解答

    今天我们就围绕网友一些常见的关于六类网线的问题进行下汇总式解答: 问 六类网线可以当电源用吗? 答 六类网线并不是设计用于传输电力的电缆,因此般不建议将其用于电源传输。 尽管六类网线的线芯可以
    的头像 发表于 12-09 11:13 744次阅读

    TVS二极管的基本概念和主要作用

    芝识课堂的全新内容又和大家见面啦!从本期开始,我们将用四节课为大家系统介绍位在电路设计中默默奉献的“无名英雄”——TVS二极管。我们会从它的基本概念、工作原理,聊到如何为电路挑选合适的型号、布局
    的头像 发表于 11-28 09:27 2.1w次阅读
    TVS二极管的<b class='flag-5'>基本概念</b>和主要作用

    贴片电容精度J±5%的一些详细知识

    贴片电容精度J±5%表示电容的实际值与标称值之间的偏差范围在±5%以内 ,以下是关于贴片电容精度J±5%的一些详细知识: 、精度等级含义 J±5% :字母“J”在贴片电容的标识中通常表示标称精度
    的头像 发表于 11-20 14:38 942次阅读
    贴片电容精度J±5%的<b class='flag-5'>一些</b>详细知识

    如果将蜂鸟的risc-v移植到其他的fpga中想实现一些外设功能有什么办法?可以不用操作系统直接添加verilog代码吗?

    请问如果将蜂鸟的risc-v移植到其他的fpga中想实现一些外设功能有什么办法?可以不用操作系统直接添加verilog代码吗?
    发表于 11-10 06:35

    蜂鸟E203的浮点指令集F的一些实现细节

    蜂鸟E203的浮点指令集F的一些实现细节 既然E203不是多发射,且为了节省面积,一些指令使用FPU内的同个子模块来执行,即FPU同时只能进行种计算,我们只在FPU内部署了11个
    发表于 10-24 08:57

    CICC2033:关于C语言仿真的一些说明

    表示生成.verilog文件,CORE=e203代表当前的CORE为e203,DOWNLOAD=ilm表示直接从ilm中运行程序,SIMULATION=1可以优化仿真的过程。 可以观察到生成
    发表于 10-21 14:18

    USB/HID及其基本概念

    USB帧概念 如上图所示,在USB1.1规范当中,把USB总线时间按帧划分,每帧占用时间是1ms; 每帧内的最开始处是SOF token,在SOF内包含有11位的帧号; 每帧的S
    的头像 发表于 08-20 10:32 3798次阅读
    USB/HID及其<b class='flag-5'>基本概念</b>

    ARM入门学习方法分享

    。 以下是一些入门学习方法的分享: 、 理解基本概念:首先,了解ARM是什么以及它的基本概念是很重要的。ARM(Advanced RISC Machines)指的是
    发表于 07-23 10:21

    电压波动与闪变的基本概念

    如果您是电力系统工程师、电气设备维护人员或者相关专业的学生,应该注意到了有关电能质量的国家标准GB/T 12326-2008是有关电压波动和闪变的,那这两个参数的考核意义是什么?国家标准规定这两个参数如何计算、测量和考核?这篇文章带您全面了解电压波动和闪变的基本概念、重要性以及国家标准的规定。
    的头像 发表于 07-22 14:10 3414次阅读
    电压波动与闪变的<b class='flag-5'>基本概念</b>

    群延迟的基本概念和仿真实例分析

    在高速数字通信和射频系统中,信号从发送端到接收端的传输过程中会遇到各种失真和畸变。群延迟(Group Delay)作为描述系统相位线性度的重要参数,直接影响着信号保真度和系统性能。本文将深入浅出地介绍群延迟的基本概念、应用场景,并通过仿真示例展示其在实际工程中的重要性。
    的头像 发表于 07-08 15:14 2787次阅读
    群延迟的<b class='flag-5'>基本概念</b>和仿真实例分析

    第十三章 通讯的基本概念

    本章介绍通讯基本概念,包括串行/并行、全双工/半双工/单工、同步/异步通讯,还提及通讯速率中比特率与波特率的概念
    的头像 发表于 05-22 17:29 2321次阅读
    第十三章 通讯的<b class='flag-5'>基本概念</b>

    Debian和Ubuntu哪个好一些

    兼容性对比Debian和Ubuntu哪个好一些,并为您揭示如何通过RAKsmart服务器释放Linux系统的最大潜能。
    的头像 发表于 05-07 10:58 1396次阅读