verilog语言中always的用法是什么?

 我来答
余生判92
推荐于2019-11-06 · TA获得超过2471个赞
知道小有建树答主
回答量:5
采纳率:0%
帮助的人:707
展开全部

always@(敏感事件列表) 用于描述时序逻辑
敏感事件上升沿 posedge,下降沿 negedge,或电平
敏感事件列表中可以包含多个敏感事件,但不可以同时包括电平敏感事件和边沿敏感事件,也不可以同时包括同一个信号的上升沿和下降沿,这两个事件可以合并为一个电平敏感事件。
在新的verilog2001中“,”和“or”都可以用来分割敏感事件了,可以用“*”代表所有输入信号,这可以防止遗漏。
合法的写法:
always@ *
always@ (posedge clk1,negedge clk2)
always@ (a or b)
`timescale 100ns/100ns //定义仿真基本周期为100ns
always #1 clk=~clk //#1代表一个仿真周期即100ns

Verilog HDL

Verilog HDL是一种硬件描述语言(HDL:Hardware Description Language),以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。 Verilog HDL和VHDL是世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。前者由Gateway Design Automation公司(该公司于1989年被Cadence公司收购)开发。两种HDL均为IEEE标准。


kong_chen520
2018-01-05 · TA获得超过4256个赞
知道小有建树答主
回答量:50
采纳率:100%
帮助的人:1.4万
展开全部

always@(敏感事件列表) 用于描述时序逻辑

敏感事件上升沿 posedge,下降沿 negedge,或电平敏感事件列表中可以包含多个敏感事件,但不可以同时包括电平敏感事件和边沿敏感事件,也不可以同时包括同一个信号的上升沿和下降沿,这两个事件可以合并为一个电平敏感事件。

在新的verilog2001中“,”和“or”都可以用来分割敏感事件了,可以用“*”代表所有输入信号,这可以防止遗漏。

合法的写法:
always@ *
always@ (posedge clk1,negedge clk2)
always@ (a or b)
`timescale 100ns/100ns //定义仿真基本周期为100ns
always #1 clk=~clk //#1代表一个仿真周期即100ns

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
琐碎smy
2018-01-05 · TA获得超过1.1万个赞
知道小有建树答主
回答量:52
采纳率:100%
帮助的人:1.5万
展开全部

感事件上升沿 posedge,下降沿 negedge,或电平。
敏感事件列表中可以包含多个敏感事件,但不可以同时包括电平敏感事件和边沿敏感事件,也不可以同时包括同一个信号的上升沿和下降沿,这两个事件可以合并为一个电平敏感事件。
在新的verilog2001中“,”和“or”都可以用来分割敏感事件了,可以用“*”代表所有输入信号,这可以防止遗漏。
合法的写法:
always@ *
always@ (posedge clk1,negedge clk2)
always@ (a or b)
`timescale 100ns/100ns //定义仿真基本周期为100ns
always #1 clk=~clk //#1代表一个仿真周期即100ns。

verilog语言中任务和函数的区别

任务和函数有助于简化程序,有点类似与Fortran语言的subroutine和function。

任务和函数的共同点:

  1. 任务和函数必须在模块内定义,其作用范围仅适用于该模块,可以在模块内多次调用。

  2. 任务和函数中可以声明局部变量,如寄存器,时间,整数,实数和事件,但是不能声明线网类型的变量。

  3. 任务和函数中只能使用行为级语句,但是不能包含always和initial块,设计者可以在always和initial块中调用任务和函数。

    任务和函数的不同点:

    1.函数能调用另一个函数,但是不能调用任务    任务可以调用另一个任务,也可以调用函数    

    2.函数总是在仿真时刻0开始    任务可以在非零时刻开始执行  


    3.函数一定不能包含任何延迟,事件或者时序控制声明语句    任务可以包含延迟,事件或者时序控制声明语句   


    4.函数至少要有一个输入变量,也可以有多个输入变量    任务可以没有或者有多个输入,输出,输入输出变量    


    5.函数只能返回一个值,函数不能有输出或者双向变量    任务不返回任何值,或者返回多个输出或双向变量值    

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式