函数function的使用方法
题目描述
在数字芯片设计中,经常把实现特定功能的模块编写成函数,在需要的时候再在主模块中调用,以提高代码的复用性和提高设计的层次,分别后续的修改。
请用函数实现一个4bit数据大小端转换的功能。实现对两个不同的输入分别转换并输出。
程序的接口信号图如下:
使用Verilog HDL实现以上功能并编写testbench验证。
输入描述:
a,b:4bit位宽的无符号数
输出描述:
c,d:4bit位宽的无符号数
解题思路
该题很明显,就是考察function的使用方法;
在Verilog HDL中,函数的声明由关键字function开始,endfunction结束。对于函数中的语句需要用begin…end包含,即使只有一句。函数的声明模板如下:
function [range-1:0] function_name(input_declaration);other_declaration ; procedural_statement ;
endfunction
函数在声明时,会隐式的声明一个宽度为 range、 名字为 function_name 的寄存器变量,函数的返回值通过这个变量进行传递。当该寄存器变量没有指定位宽时,默认位宽为 1。然后进行输入变量的声明和其它声明。注意function定义的尾部需要加“;”结束。
function 是用来描述功能的函数,不是描述硬件的,不可以有时序逻辑。
funtion 中可以使用for 循环:
`timescale 1ns/1ns
module function_mod(input [3:0]a,input [3:0]b,output [3:0]c,output [3:0]d
);function [3:0]bit_reverse(input [3:0]data);integer i;for(i=0;i<4;i=i+1)begin:reversebit_reverse[i] = data[3-i] ;end endfunctionassign c = bit_reverse(a) ; //调用functionassign d = bit_reverse(b) ;
endmodule
那么function 中的for 循环与 generate ... for 有什么区别?
function 在FPGA中实现,消耗的是什么资源?
函数function的使用方法相关推荐
- Python中Function(函数)和methon(方法)
首先来看他们的定义, 函数function -- A series of statements which returns some value to a caller. It can also be ...
- Python中Function(函数)和method(方法)
在Python中,对这两个东西有明确的规定: 函数function -- A series of statements which returns some value to a caller. It ...
- python中function函数的用法_Python中Function(函数)和methon(方法)
在Python中,对这两个东西有明确的规定: 函数function -- A series of statements which returns some value toa caller. It ...
- js function定义函数的4种方法
js function定义函数的4种方法 1.最基本的作为一个本本分分的函数声明使用. 复制代码代码如下: 复制代码代码如下: function func(){} 或 var func=funct ...
- php undefined function 几个函数,PHP Fatal error: Call to undefined function 函数名() in 解决方法...
PHP Fatal error: Call to undefined function 函数名() in 解决方法 发布于 2015-01-14 08:55:15 | 219 次阅读 | 评论: 1 ...
- php函数的默认值,php函数指定默认值方法的小例子
php函数指定默认值方法的小例子 本节内容: php函数指定默认值 在php编程中,为自定义函数设定默认值,当用户调用该函数时,如果不给参数指定值,参数会用默认值顶替. 例1, 复制代码 代码如下: ...
- 深入理解javascript中的立即执行函数(function(){…})()
2019独角兽企业重金招聘Python工程师标准>>> javascript和其他编程语言相比比较随意,所以javascript代码中充满各种奇葩的写法,有时雾里看花,当然,能理解各 ...
- 1.2、什么是函数?什么是方法
1.2.什么是函数?什么是方法 在javascript中,函数和方法的区分 有助于理解js执行上下文关系,基于原型的继承方式. 什么是函数 通过function或字面量定义的function类型的变量 ...
- js立即执行函数: (function ( ){...})( ) 与 (function ( ){...}( ))
( function(){-} )() ( function (){-} () ) 是两种javascript立即执行函数的常见写法,最初我以为是一个括号包裹匿名函数,再在后面加个括号调用函数,最后达 ...
最新文章
- 特斯拉前员工承认备份AutoPilot代码,但入职小鹏汽车前已删除
- Python 技术篇-socket套接字实现服务器客户端消息传递实例演示,UDP实现
- Sublime Text2使用ctex
- CoreData 从入门到精通(四)并发操作
- 深入源码理解.NET Core中Startup的注册及运行
- ActionScript 3.0 编程
- HDU1325 Is It A Tree?
- gstreamer插件用不了,及黑名单Blacklist的解决办法
- php获取字段中的第几个数字_php提取字符串中的数字
- Dynamips ADSL实验之一pppoeoa(工大瑞普修正版)
- Xpose_HOOK入门教程
- Lync 2013 客户端简介
- 谷粒商城——第一篇 前后端基础
- script脚本阻塞的探究、异步属性async和defer的区别
- LTE CQI/PMI 上报机制
- 如何成为一名IC验证工程师——IC修真院直播
- 视频字幕识别(百度AI开放平台OCR | python | opencv)
- python哪里最难用_Python里最难的Asyncio,这里有一份非常适合小白的教程
- linux系统资源查看详解
- 基础版微信模板消息开发详解,附代码PHP