Verilog语法——2.模块例化、运算符

这篇具有很好参考价值的文章主要介绍了Verilog语法——2.模块例化、运算符。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考资料
【明德扬_verilog零基础入门语法HDL仿真快速掌握-手把手教你写FPGA/ASIC代码设计流程中的应用】

2 模块例化、运算符

2.1 模块例化

2.1.1 什么是模块例化

例化,即将项目不断拆分成次级功能模块,然后从最简单的模块开始实现,进而完成整个复杂项目
Verilog语法——2.模块例化、运算符,FPGA,fpga开发

2.1.2 模块例化的方法

针对已经抽象好的模块,需要进行语义化命名,以便后续的调试。
Verilog语法——2.模块例化、运算符,FPGA,fpga开发

2.1.3 参数例化

在不改变原来模块大体内容的情况下,改变一个变量的位宽
参数例化的好处:在仿真测试时便于调整基准数据,例如仿真时钟时可以将基准时间从1秒改成0.001秒。
Verilog语法——2.模块例化、运算符,FPGA,fpga开发
通过此方式,可以将原来模块中8位的DATA_W,在例化时改为16位
Verilog语法——2.模块例化、运算符,FPGA,fpga开发

2.2 运算符

2.2.0 总览

Verilog语法——2.模块例化、运算符,FPGA,fpga开发

2.2.1 信号类型reg/wire

Verilog语法——2.模块例化、运算符,FPGA,fpga开发

EXAMPLES
Verilog语法——2.模块例化、运算符,FPGA,fpga开发

  1. 本模块always产生的信号,用reg eoc_cnt

Verilog语法——2.模块例化、运算符,FPGA,fpga开发
2. 本模块产生,非always,用wire row1,row2

Verilog语法——2.模块例化、运算符,FPGA,fpga开发
3. 本模块产生,是always,用reg rdreq

Verilog语法——2.模块例化、运算符,FPGA,fpga开发
4. 肯定不是always产生的,使用wire sdata

2.2.2 参数parameter(相当于c语言的宏定义)

Verilog语法——2.模块例化、运算符,FPGA,fpga开发

2.2.3 算术运算符

FPGA中,除法和求余需要大量的逻辑块,耗费资源多,因此需要尽量少用
Verilog语法——2.模块例化、运算符,FPGA,fpga开发

2.2.4 关系运算符

Verilog语法——2.模块例化、运算符,FPGA,fpga开发

2.2.5 赋值运算符

不要搞复杂了

  • 时序逻辑用: <=
  • 组合逻辑用: =

Verilog语法——2.模块例化、运算符,FPGA,fpga开发

2.2.6 逻辑运算符

Verilog语法——2.模块例化、运算符,FPGA,fpga开发

2.2.7 位运算符

Verilog语法——2.模块例化、运算符,FPGA,fpga开发

2.2.8 移位运算符

Verilog语法——2.模块例化、运算符,FPGA,fpga开发

2.2.9 拼接运算符

多个相同的位数,可以用:{个数{a[n]}}实现重复拼接
Verilog语法——2.模块例化、运算符,FPGA,fpga开发文章来源地址https://www.toymoban.com/news/detail-794085.html

到了这里,关于Verilog语法——2.模块例化、运算符的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Verilog HDL按位逻辑运算符及逻辑运算符

    单目按位与运算符 ,运算符后为需要进行逻辑运算的信号,表示对信号进行每位之间相与的操作。例如: reg [3:0] A,C ; assign C = A ; 上面代码等价于 C = A[3] A[2] A[1] A[0] ; 如果A = 4’b0110,C的结果为0 单目按位或运算符 | ,运算符后为需要进行逻辑运算的信号,表示对信号进行每位

    2024年02月16日
    浏览(33)
  • Verilog中的^~、~^、~&、~|运算符

    今天看书上的Verilog代码中,出现了运算符 ~^ ,从来没见过,搜了一些资料,记录一下。 ~^ 、 ^~ 作为二元运算符时,是同或; ~^ 、 ^~ 作为一元运算符时,是 缩减异或的取反 (感谢@smile、陌离老哥在评论区指正); ~ 只能作为一元运算符,是对缩减 结果的取反; ~| 只能作为

    2024年02月02日
    浏览(57)
  • verilog运算符

    算数运算符 算数运算符 说明 + 加 - 减 * 乘 / 除 % 求模 进行整数除法运算时,结果值略去小数部分,只取整数部分; %称为求模(或求余)运算符,要求%两侧均为整型数据; 求模运算结果值得符号位取第一个操作数的符号位; 进行算数运算时,若操作数位 不定值X ,则 整个

    2024年02月07日
    浏览(36)
  • Verilog运算符优先级

    0 ! ~ 1 * / % 2 + 1 3 4 = = 5 == != === !== 6 ~ 7 ^ ^~ 8 | ~| 9 10 || 11 ?: 从上至下优先级依次降低

    2024年02月16日
    浏览(37)
  • 【JavaSE语法】运算符

    计算机的最基本的用途之一就是执行数学运算,运算符即对操作数进行操作时的符号,不同运算符操作的含义不同 Java中运算符可分为以下: 算术运算符 (+ - * /)、 关系运算符 ( ==)、 逻辑运算符 、 位运算符 、 移位运算符 以及 条件运算符 等 1. 基本四则运算符:加减乘除模

    2024年02月07日
    浏览(42)
  • Verilog常用运算符及表达式

    本文详细介绍了Verilog常用的运算符和表达式,特别是分享了处理“计算位宽溢出”和“负数”的可行方式,帮助读者更加轻松地理解和掌握Verilog语言的运算符。 算数运算符:加(+)、减(-)、乘(*)、除(/)、取余(%) 赋值运算符:非阻塞赋值(=)、阻塞赋值(=);

    2024年02月08日
    浏览(53)
  • Verilog学习记录3——三目运算符

    进阶示例: 以牛客网 VL1 四选一多路器 为例 使用三目运算符写法:

    2024年02月11日
    浏览(60)
  • java基础语法(运算符&循环)

    在Java中,一些数据类型之间是可以相互转换的。分为两种情况:自动类型转换和强制类型转换。 1.1 隐式转换(理解) ​ 把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量。这种转换方式是自动的,直接书写即可。例如: 说明: 整数默认是int类型,

    2024年02月09日
    浏览(34)
  • C++语法——详解运算符重载

    运算符重载是C++的一个重要特性。有了运算符重载,在代码编写时能更好的实现封装。 目录 一.运算符重载介绍 二.运算符重载形式 (一).参数 (二).返回值 (三).应用 三.特殊的运算符重载 (一).默认赋值运算符重载 (二).自增运算符A++与++A (三).流提取与流插入

    2023年04月25日
    浏览(52)
  • 【Java SE语法篇】3.运算符

    📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 计算机的最基本的用途之一就是执行数学运算,比如: 上述 + 和 等就是运算符,即:对操作数进行操作时的符号,不同运算符操作的含义

    2024年02月02日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包