Verilog编程技巧之(括号)、[中括号]、{大括号}用法(对比matlab)

   日期:2020-09-08     浏览:221    评论:0    
核心提示:简述在初步接触到Verilog的括号时经常会将其和matlab矩阵的各种(括号)、[中括号]、{大括号}搞混。Verilog中括号的应用Verilog语言中,除去这些括号在计算优先级中的作用(一般也只会用到小括号加优先级)。(括号)主要用于函数模块传参,例如自定义函数 fuc_name后面括号内定义的input、output,或者一些if、always语句后面括号内添加判定信息(其实也就是函数传参)。[中括号]用于位数声明,例如定义reg信号的位数,或者调用某信号的位数:reg [7:0]

简述

在初步接触到Verilog的括号时经常会将其和matlab矩阵的各种(括号)、[中括号]、{大括号}搞混。

Verilog中括号的应用

Verilog语言中,除去这些括号在计算优先级中的作用(一般也只会用到小括号加优先级)。

(括号)主要用于函数模块传参,例如自定义函数 fuc_name后面括号内定义的input、output,或者一些if、always语句后面括号内添加判定信息(其实也就是函数传参)。

[中括号]用于位数声明,例如定义reg信号的位数,或者调用某信号的位数:

reg   [7:0]    CPU_RESET_delay = { 8{1'b1} } ;

{大括号}还是参见上例:
1、{ }表示拼接,{第一位,第二位…};
2、{{ }}表示复制,{4{a}}等同于{a,a,a,a};
所以 { 8{1’b1} }就表示将8个1拼接起来,即8’b11111111。

对比matlab

matlab里面(括号)用于引用或声明数组的元素,[中括号]用来存储矩阵和向量,逗号或者空格隔开、分号换行,{ 大括号}用于cell型的数组的分配或引用,例如:

>> clear all;
>> a=cell(2,2)

a=

		[]		[]
		[]		[]

>> a{1,2}=[1,2]

a =

		[]		[1,2]
		[]		[]

上例中cell型数组的引用也必须用{大括号}才能调用,例如a{1,2} = [1,2]。

matlab个人用的也不算多,全是做图像处理用到的,而且感觉matlab编码不太正经,所以可能理解有较大偏差。

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服