版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
10.1任务任务使用关键字:taskendtask任务中声明语句的语法与模块定义中的对应声明语句的语法一样用input,output或inout对任务的端口进行声明;通过input和inout端口把数据传递到任务中,在任务中进行处理,当任务执行完成后,通过output和inout端口传回模块的端口用来和外部信号相连接,而任务的I/O(输入/输出)变量则用来向任务中传入或从任务中传出变量模块可以调用任务,任务可以调用其他任务10.1.1任务应用激励信号千差万别,针对不同应用对应有各种各样的任务深入学习任务,灵活掌握任务的使用方法,对于编写激励信号有很大的帮助moduleoperation;...parameterdelay=10;reg[15:0]A,B;reg[15:0]AB_AND,AB_OR,AB_XOR;always@(AorB)beginbitwise_oper(AB_AND,AB_OR,AB_XOR,A,B);end...taskbitwise_oper;output[15:0]ab_and,ab_or,ab_xor;input[15:0]a,b;begin#delayab_and=a&b;ab_or=a|b;ab_xor=a^b;endendtask...endmodule任务bitwise_oper,完成对两个16位数进行按位与(&)、按位或(|)和按位异或(^)操作任务的定义和调用是在模块内进行模块的变量定义与任务中变量的定义不同AB_AND对应于任务输出ab_and,AB_OR对应于ab_or,AB_XOR对应于ab_xor;而delay的值在模块中定义,在任务中直接使用使用ANSIC风格的变量声明进行任务定义//definetaskbitwise_opertaskbitwise_oper(output[15:0]ab_and,ab_or,ab_xor,input[15:0]a,b);begin#delayab_and=a&b;ab_or=a|b;ab_xor=a^b;endendtaskmodulesequence;regclock;initialinit_sequence;//启动init_sequence任务alwaysbeginasymmetric_sequence;//启动asymmetric_sequence任务endtaskinit_sequence;beginclock=1'b1;endendtasktaskasymmetric_sequence;begin#15clock=1'b0;#5clock=1'b1;#5clock=1'b0;#10clock=1'b1;endendtaskendmodule
非对称序列发生器画出波形非对称序列发生器modulesequence;regclock;initialinit_sequence;//启动init_sequence任务alwaysbeginasymmetric_sequence;//启动asymmetric_sequence任务endtaskinit_sequence;beginclock=1'b1;endendtasktaskasymmetric_sequence;begin#15clock=1'b0;#5clock=1'b1;#5clock=1'b0;#10clock=1'b1;endendtaskendmodule
10.1.2自动(可重入)任务任务在本质上是静态的,任务中的所有声明项的地址空间是静态分配的,同时并发执行的多个任务共享这些存储区。如果这个任务在模块中的两个地方被同时调用,则这两个任务调用将对同一块地址空间进行操作。操作的结果很有可能是错误的。为了避免这个问题,verilogHDL通过在task关键字前面添加automatic关键字。使任务成为可重入的,这样声明的任务也称为自动任务,每次调用时,在动态任务中声明的所有模块项的存储空间都是动态分配的,每个调用都对各自独立的地址空间进行操作。这样,每个任务调用只对自己所拥有的独立变量副本进行操作,因此可以得到正确的执行结果。所以,如果某一任务有可能在程序代码的两处被同时调用,最好使用自动任务。moduletop;reg[15:0]cd_xor,ef_xor;reg[15:0]c,d,e,f;...taskautomaticbitwise_xor;output[15:0]ab_xor;input[15:0]a,b;begin#delay//ab_and=a&b;//ab_or=a|b;ab_xor=a^b;endendtask...alw
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 有色金属材热处理工岗前复试考核试卷含答案
- 铝吸出工岗前实操水平考核试卷含答案
- 井下作业工岗前技巧考核试卷含答案
- 硝酸铵生产工岗前实操知识实践考核试卷含答案
- 松节油制品工岗中技能能力考核试卷含答案
- 玉器抛光工岗中质量能力考核试卷含答案
- 应急救援员基础验收模拟考核试卷含答案
- 电池及电池系统维护员复测水平考核试卷含答案
- 硝酸铵结晶造粒工复测模拟考核试卷含答案
- 劳动定员定额师保密意识测试考核试卷含答案
- 浙江省金华市婺城区2025-2026学年八年级下学期期末考试数学试题(含答案)
- 2026年宿迁市城区招商发展有限公司招聘工作人员4人考试备考试题及答案详解
- 2026年数字安徽有限责任公司所属企业安徽数安系统集成有限公司第1批次社会招聘18人笔试备考试题及答案详解
- 临床常见实验室检查指标的解读
- 2026年内蒙古自治区中考语文试题【含答案】
- 2026年新疆维吾尔自治区初中学业水平考试生物试卷真题(含答案详解)
- SA8000-2026社会责任管理体系管理手册
- 2026年度保密教育线上培训试题(附答案)
- Linux系统管理及应用项目式教程(麒麟欧拉)(AI助学)(微课版)-教案(包含思政元素) 1 安装Linux操作系统、2 使用Linux命令
- 市级临床重点专科申报书(麻醉科)
- 《数据中心锂离子电池消防安全白皮书》
评论
0/150
提交评论