- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Verilog HDL任务和函数
* 任务和函数 学习指南 【知识目标】 (1) 掌握Verilog任务说明语句的定义和使用; (2) 掌握Verilog函数说明语句的定义和使用; (3) 了解任务和函数的联系与区别; (4) 掌握常用的系统自定义任务和函数。 【技能目标】 (1) 熟练使用Verilog任务说明语句进行硬件编程; (2) 熟练使用Verilog函数说明语句进行硬件编程; (3) 在编程中熟练调用常用的Verilog预定义系统任务和函数。 【重点难点】 (1) 任务和函数的联系与区别; (2) 各种预定义函数的使用方式。 1 任务(Task)说明语句 任务可以在always或者initial模块中的任何过程语句中调用。任务的调用可以包含一个参数列表,参数列表中的各个参数将按照其在任务中的定义顺序,依次传递给任务中相对应的端口变量。其传递规则类似于用顺序端口连接方式来实例化子模块,任务调用时,仿真的运行控制转移到任务模块中。当任务结束后,仿真控制权才回归到任务调用之后的下一条语句。在一个任务中,可以启动另外一个任务,而新启动的任务又可以再次启动新的任务。当所有的任务在该仿真时刻运行完毕时,仿真运行控制权才转移回来。 定义任务的语法如下所示: task 任务名; 端口声明和变量定义; 一个或多个过程语句; endtask 1 任务(Task)说明语句 任务的调用语法如下所示: 任务名 (参数1, 参数2,参数3,....); 【例1】设计一个进行延迟的任务。该任务延迟指定个时钟周期后返回。 // example_8_1: A sample task to perform delay module delay_task (); // 定义时钟,时钟周期为10 reg clk; initial clk = 1b1; always #5 clk = ~clk; // 记录延迟周期数 reg [31:0] cnt_num; initial begin #0 $display(Time1 = %0d, $time); // 调用delay任务延迟指定的时钟周期数 delay(10); $display(Time2 = %0d, $time); // 调用delay_5x10任务,延迟50个时钟周期。该任务返回实际的 1 任务(Task)说明语句 // 延迟周期数。 delay_5x10(cnt_num); $display(Time3 = %0d; count_number = %0d, $time, cnt_num); #10 $finish; end // 定义任务delay,该任务执行指定周期数的延迟 task delay; input [31:0] cnt; begin repeat (cnt) @ (posedge clk); end endtask // 定义任务delay_5x10,该任务执行50个时钟周期的延迟 task delay_5x10; 1 任务(Task)说明语句 output [31:0] cnt_num; begin cnt_num = 0; // 连续5次调用任务delay_10,因此总共延迟5*10=50个时钟周期 repeat (5) begin delay_10(cnt_num, cnt_num); end end endtask // 定义任务delay_10,该任务执行10个时钟周期的延迟 task delay_10; input [31:0] cnt_init; output [31:0] cnt_num; begin cnt_num = cnt_init; repeat (10) begin 1 任务(Task)说明语句 // 在任务里可直接引模块中定义的变量clk @ (posedge clk) cnt_num = cnt_
您可能关注的文档
- SVN自助更新:运维利器Puppet实例讲解.docx
- Swan-Gansz导管之参数解读.ppt
- taohuaupload_土体的分类以及工程地质性能.ppt
- Team_work团队合作.ppt
- TD-SCDMA标准宣贯.ppt
- TED to China 项目简介.ppt
- TFT-LCD显示原理及工艺流程.ppt
- TG-DSC热重-差热分析仪的利用.ppt
- That snake is long.课堂教学设计.doc
- The face is familiar ,but---演讲稿.ppt
- 2023年高考政治一轮复习讲练测(新教材新高考)(解析版 .pdf
- 2023年江西省南昌市西湖区南浦街道三眼井(社区工作人员)自考复习100题.pdf
- 2023年秦皇岛市昌黎县教师考试真题及答案 .pdf
- 2023年广东省初中毕业生学业水平调研测试中考数学试题(原卷版).pdf
- 2023年多刀车床项目综合评估报告 .pdf
- 2023年人教版七年级语文下册期末试卷(完整版) .pdf
- 2022读《艾青诗选》有感心得五篇 .pdf
- 2023年黑龙江省绥化市中考语文试题(含答案) .pdf
- 2023-2024学年湖北省鄂州市梁子湖区九年级上学期期中化学试题.pdf
- 2022年四川省南充市中考物理试题(含答案解析) .pdf
文档评论(0)