首页 > 其他分享 >Verilog——任务task的调用

Verilog——任务task的调用

时间:2022-10-03 23:33:53浏览次数:54  
标签:task off clk 调用 Verilog reg red

参考自以下链接处:
http://t.csdn.cn/4ws4t

下面直接看代码,代码中会有注意事项。

`timescale 1ns/10ps

module  traffic_lights  ;

reg             clk         ;
reg             red         ;
reg             amber       ;
reg             green       ;

//产生时钟脉冲的always块
always #10  clk = ~clk;

parameter  on  = 1  ; 
parameter  off = 0  ; 
            
//定义交通灯开启时间的任务
task light;//task<任务名>
    input  [31:0] tics;
    output reg color;//<端口及数据类型声明语句>,建议先输入后输出

begin
    repeat(tics) @(posedge clk);//等待tics个时钟的上升沿
    color=off;//关灯
end

endtask

//交通灯初始化
initial red=off;
initial amber=off;
initial green=off;
//交通灯控制时序
always begin
    red=on; //开红灯
    light('d350,red); //调用等待任务,
                      //(1)括号中信号顺序与task声明的信号顺序一致;
                      //(2)不能是参数类型的数据,比如你放的是parameter定义的数据就不行;
                      //(3)既然是调用,就是调用其中的逻辑功能,使用的信号都需要是module下定义的,而不是用task中定义的的color。
    green=on; //开绿灯
    light('d300,green); //等待
    amber=on; //开黄灯
    light('d200,amber); //等待
end

endmodule

浅记录一下,因为发现原文中代码编译会出错,自己动手修改一下也能加深对task的调用方法记忆。

标签:task,off,clk,调用,Verilog,reg,red
From: https://www.cnblogs.com/BMer-ICer/p/16751576.html

相关文章

  • C# 调用Winrar.exe压缩文件
    1、封装///<summary>///调用Winrar.exe进行压缩文件///</summary>///<paramname="sourcePath">需要压缩文件路径</param>///......
  • 函数调用机制图解
      1). 每个函数都有一个自己的栈当调用/执行一个函数时,就会开辟一个独立的空间(栈)此处优先执行main栈当接触到test时会重新创建一个test栈,并且把6传递给test的n......
  • java---回顾方法的定义和调用
    方法的回顾和调用packagecom.oop.demo;​importjava.io.IOError;importjava.io.IOException;​//return代表方法结束,返回一个结果//下方就是一个类publicclassDemo01......
  • ASP.NET Core – Thread, Task, Async 线程于异步编程
    前言平常写业务代码,很少会写到多线程.久了很多东西都忘光光了.刚好最近在复习RxJS.有一篇是讲scheduler的.会讲到JavaScript异步相关的资讯.既然如果那就一次......
  • LeetCode 2365. Task Scheduler II
    原题链接在这里:https://leetcode.com/problems/task-scheduler-ii/题目:Youaregivena 0-indexed arrayofpositiveintegers tasks,representingtasksthatneed......
  • [RxJS] Execute tasks asynchronously with Async Scheduler
    TheasyncSchedulerletsyouscheduletasksasynchronously,similartoasetTimeout. Allschedulershaveasignatureofwork,delay,state,butprovdingadel......
  • Systemverilog之SVA(一)
     前言systemverilogassertion作为systemverilog引入的重要特性,在功能仿真及形式验证中有着重要的作用。相较于Verilog传统的checker,SVA作为声明性的语言,使用简单易于管......
  • SystemVerilog断言(一)
    摘要SystemVerilog断言(SVA)可以直接添加到RTL代码中,也可以通过bindfiles间接添加。实践表明,最好使用bindfiles添加大多数断言。这篇论文将解释为什么将断言直接添加到RTL......
  • systemverilog中的断言
    终于来到了断言了,嘿嘿。assertion分为两种,立刻和并行,立刻断言其实跟普通的$display没什么不同。重点在并行断言。(一)首先的概念是concurrentassertion的构成:sequence->pr......
  • Static的静态常量访问与静态方法调用
    Static的静态常量访问与静态方法调用======================================================================Static的静态方法调用packagecom.tea.Demo07;​public......