v3学院教你学习-task和function的异同

v3学院教你学习-task和function的异同

task(任务)与function(函数)的不同
任务与函数主要有以下四点不同:
l 函数只能与主模块共用一个仿真时间单位,而任务定义自己的仿真时间单位。
l 函数不能启动任务,任务可以启动其他任务和函数。
l 函数至少要有一个输入变量,而任务可以没有或有多任何类型的变量。
l 函数返回一个值,而任务不返回值。

  1. task语句说明
    l 任务的定义
    定义任务的语法如下:
    task<任务名>
    <端口及数据类型声明语句>
    <语句1>
    <语句2>
    …………
    <语句n>
    endtask
    l 任务的调用及变量的传递
    任务的调用:
    <任务名>(端口1,端口2,…..,端口n);
    下面举例子说明怎么定义任务与调用任务:
    任务定义:
    task my_task;
    input a,b;
    output c;
    <语句>
    ….
    endtask
    任务调用:my_task(v,w,x);
    任务调用变量(v,w,x)和任务定义的I/O变量(a,b,c)之间是一一对应的,当任务启动时,由v和w传入的变量赋给了a和b,而当任务完成之后的输出又通过c赋给x,下面举一个具体程序来介绍:
    代码如下:
    165861-20170302091601907-1139394826.jpg
    165861-20170302091621376-1717043377.jpg
    165861-20170302091629126-1044190025.jpg

测试代码如下:
165861-20170302091647923-1242725676.jpg
165861-20170302091655907-1900165231.jpg

仿真波形图如下:
165861-20170302091710548-1617045231.jpg
165861-20170302091722188-180428428.jpg
当start信号变成高电平的时候,即当state状态由0跳变到1时,
调用load任务,把data_in的值寄存在save_data的同时状态机状态跳转到2,当状态跳转到2的时候,调用shift任务,把save_data的值往左移一位的同时状态机状态跳转到3,当状态跳转到3的时候,调用out任务,把save_data的值往data_out赋值的同时状态机状态跳转到0,仿真的波形跟设计的完全一样。

  1. function说明语句
    l 定义函数的语法:
    function<返回值的类型或范围>(函数名);
    <端口说明语句>
    <变量类型说明语句>
    begin
    <语句>
    ………
    end
    endfunction
    注意:<返回值的类型或范围>这一项是可选项,如缺省则返回值位一位寄存器类型数据
    l 举例说明
    下面举一个实际程序的例子,来说明一下function函数的实际定
    义与如何调用。
    程序代码如下:
    165861-20170302091750610-1689258038.jpg
    165861-20170302091803141-654306004.jpg
    165861-20170302091813204-1014760627.jpg
    165861-20170302091820516-1036395612.jpg

测试代码如下:
165861-20170302091843891-1879579891.jpg
165861-20170302091855626-976596728.jpg

仿真波形图如下:
165861-20170302091919095-665972912.jpg
165861-20170302091932110-604181736.jpg
165861-20170302091940641-460959647.jpg

当start信号变成高电平的时候,即当state状态有0跳变到1时,调用load_data(data_in)函数,把data_in的值寄存在save_data的同时状态机状态跳转到2,当状态跳转到2的时候,调用shift(save_data)函数,把save_data的值往左移一位的同时状态机状态跳转到3,当状态跳转到3的时候,调用load_data(save_data)函数,把save_data的值往data_out赋值的同时状态机状态跳转到0,仿真的波形跟设计的完全一样。
此文章为原创出自 V3学院 www.v3edu.org

posted on 2017-03-02 09:20 老凯 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/laokai/p/6488866.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/371447.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 7:HashMap与ConcurrentHashMap

从我过去有关性能的文章和HashMap案例研究中可能已经看到&#xff0c;Java线程安全性问题可以很轻松地使Java EE应用程序和Java EE容器崩溃。 在对Java EE性能问题进行故障排除时&#xff0c;我观察到的最常见问题之一是由非线程安全的HashMap get&#xff08;&#xff09;和pu…

【2017-03-02】集合、结构体、枚举

集合和数组的差别&#xff1a; 数组&#xff1a;同一类型&#xff0c;固定长度集合&#xff1a;不同类型&#xff0c;不固定长度 一、普通集合&#xff08;弱类型&#xff09; 1、ArryList 使用集合首先要引用命名空间。 或者在ArryList上右键找“解析”。 2、集合的定义&#…

Mathematica图片局部变色

这篇博客来源于Stack-Exchange上的一个帖子&#xff0c;问题描述如下&#xff1a;如何将图中的红球变为蓝球&#xff1f; 这个问题下面有很多答案&#xff0c;我选了最好的一个答案&#xff0c;代码如下 img Import["C:/Users/1/Desktop/red.jpg"]; getReds[x_Image…

在WebLogic 12c上运行RichFaces

我最初以为我可以在几个月前写这篇文章。 但是我最终被不一样的事情所淹没。 其中之一是&#xff0c;它无法像我在4.0版本中那样简单地启动RichFaces展示柜。 有了所有的JMS magic和不同的提供者检查&#xff0c;这已经成为简单构建和部署它的挑战。 无论如何&#xff0c;我愿意…

Spring Boot系列教程一:Eclipse安装spring-tool-suite插件

一.前言 一直使用eclipse&#xff0c;个人习惯选用Eclipsespring-tool-suite进行开发&#xff0c;特别注意Eclipse要选用对应的spring-tool-suite进行安装&#xff0c;这点笔者浪费了好长时间&#xff0c;以下为对应的版本。eclipse-kepler.4.3.1–>springsource-tool-suite…

湖南工程学院计算机网络考试,湖南工程学院 计算机网络期末试卷试题

湖南工程学院 计算机网络期末试卷试题湖南工程学院 计算机网络 期末试题(计算机10级&#xff0c;90%的题目)1 从逻辑功能上看,计算机网络可分为哪两个子网?答&#xff1a;通信子网和资源子网 2 数据链路层的最基本功能答&#xff1a;数据链路层的最基本的功能是向该层用户提供…

C#设计模式(11)——外观模式(Facade Pattern)

一、引言 在软件开发过程中&#xff0c;客户端程序经常会与复杂系统的内部子系统进行耦合&#xff0c;从而导致客户端程序随着子系统的变化而变化&#xff0c;然而为了将复杂系统的内部子系统与客户端之间的依赖解耦&#xff0c;从而就有了外观模式&#xff0c;也称作 ”门面“…

OS X Mountain Lion上的多个Java版本

在Mountain Lion之前&#xff0c;Java被捆绑在OS X中。似乎在升级期间&#xff0c;我在计算机上安装的Java 6版本被删除了。 显然&#xff0c;在升级过程中卸载Java的原因是Java运行时存在的安全问题。通过这种方式&#xff0c;您不得不安装可解决此安全问题的最新版本。 所以我…

2020暨阳学院园林计算机考研考场,【图片】2020考研,老学长教你如何规划!【计算机考研吧】_百度贴吧...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼二、关键一步——院校选择我把各位同学的院校选择阶段分为以上几个阶段&#xff0c;因为考研这一年中&#xff0c;很多人的目标院校并不是固定不变的&#xff0c;而是随着不同阶段而改变的。学长我在大三下学期这一时间段内也多次更…

JavaOne 2012:向上,向上和向外:使用Akka扩展软件

在最后的社区主题演讲后&#xff0c;我前往希尔顿金门大桥3/4/5观看了维克多巴生 &#xff08; Viktor Klang &#xff09;的&#xff08; Typesafe &#xff09;“上&#xff0c;下&#xff0c;外&#xff1a;Akka”演讲。 巴生&#xff08;Klang&#xff09;是Akka的技术主管…

Spring测试支持和上下文缓存

Spring为单元测试和集成测试提供了全面的支持-通过注释来加载Spring应用程序上下文&#xff0c;并与JUnit和TestNG等单元测试框架集成。 由于为每个测试加载大型应用程序上下文需要时间&#xff0c;因此Spring智能地为测试套件缓存应用程序上下文–通常&#xff0c;当我们通过a…

perl6正则 4: before / after 代码断言: ?{} / !{}

<?before> <? befor XXX> 某字符在 xxx 之前 <?after > <?after XXX> 某字符之后有XXX 对应的取反分别为: <!before > <!before XXX> XXX之前没有 <!after> <!after xxx> 某字符后面不是 xxx say "foobar" ~~…

如何写出安全的API接口(参数加密+超时处理+私钥验证+Https)- 续(附demo)

转载&#xff1a;http://www.cnblogs.com/codeon/p/6123863.html 上篇文章说到接口安全的设计思路&#xff0c;如果没有看到上篇博客&#xff0c;建议看完再来看这个。 通过园友们的讨论&#xff0c;以及我自己查了些资料&#xff0c;然后对接口安全做一个相对完善的总结&#…

PrimeFaces在GlassFish 3.1.2.2上推动大气

PrimeFaces 3.4在三天前问世。 除了通常令人敬畏的新组件和更新组件之外&#xff0c;它还包括新的PrimeFaces Push框架。 基于Atmosphere&#xff0c;这为您的应用程序提供了简单的推送机制。 这是在最新的GlassFish 3.1.2.2上配置和运行它的方法。 准备工作 像往常一样&#…

JBoss AS 7类加载说明

这是示例章节&#xff0c;摘自Francesco Marchioni编辑的JBoss AS 7 Configuration Deployment and Administration一书&#xff0c;该书正在运行一个名为mastertheboss.com的JBoss门户。 根据Java EE规范的要求&#xff0c;理想情况下&#xff0c;应用程序服务器应为其部署的应…

兵团职称计算机准考证查询,兵团初级会计准考证打印入口官网

兵团初级会计准考证打印入口官网为财政部会计资格评价中心网(http://kzp.mof.gov.cn)。准考证打印时间在4月16日前公布&#xff0c;考生需要在规定时间登录财政部会计资格评价中心网(http://kzp.mof.gov.cn)下载并打印准考证。未在上述时限内下载打印准考证的&#xff0c;视作放…

MySQL数据库的基本操作

-- 连接mysql 数据库(前提是配置好MySQL数据库的环境变量&#xff0c;加入path)mysql -uroot -p -- 设置文本的输入输出编码&#xff1a;cmd 使用的是gbk&#xff0c;不然显示乱码set names gbk; -- 创建数据库create database mydatabase charset utf8; -- 创建用户 user001cr…

使用NoSQL实施实体服务–第5部分:使用云提高自治性

在先前的文章中&#xff0c;我讨论了如何通过结合使用Java Web Services &#xff0c; Java EE和CouchDB NoSQL数据库为产品构建SOA“实体”服务。 在本系列的最后一篇文章中&#xff0c;我将利用我已经创建的一些技术资产&#xff0c;并使用一些流行的SOA模式实现一些新的用户…

乐高计算机发展史教程,【乐高产品发展史特别篇】乐高恐龙发展史

—— 写在前面 ——2018年6月22日&#xff0c;《侏罗纪世界2&#xff1a;失落王国》全球上映&#xff1b;4月16日&#xff0c;乐高同名系列套装全球发售。恐龙是一个伴随了乐高产品二十余年的主题&#xff0c;其实在一年以前就有这样一个计划完成乐高恐龙发展史的相关内容&…

mvc 连接数据库但单复值得问题

1. The model backing the ‘MusicStoreDBContext‘ context has changed since the database was created. Consider using Code First Migrations to update the database Movie这个表是用来记录Model的版本号的&#xff0c;你每次重新生成一次数据库它就会重新给ModelHash…