练习:设计一个带控制端的逻辑运算电路,分别完成正整数的平方、立方和阶乘的运算。

//--------------myfunction----------

modulemyfunction(clk,n,result,reset,sl);

output[6:0]result;

input[2:0] n;

input reset,clk;

input [1:0] sl;

reg[6:0]result;//define input and output

always @(posedgeclk)

begin

if(!reset)

result<=0;

else

begin

case(sl)

2'd0:result<=square(n);

2'd1:result<=cubic(n);

2'd2:result<=factorial(n);

endcase

end

end

function[6:0]square;

input [2:0]operand;

begin

square=operand*operand;

end

endfunction

function[6:0]cubic;

input [2:0]operand;

begin

cubic=operand*operand*operand;

end

endfunction

function[6:0]factorial;

input [2:0]operand;

reg [2:0] index;

begin

factorial = 1 ;

for(index = 2; index <= operand; index =index + 1)

factorial = index * factorial;

end

endfunction

endmodule

//--------------testmyfunc----------

`include"./myfunction.v"

`timescale1ns/100ps

`define clk_cycle50

module testmyfunc;

reg[2:0] n;

reg reset,clk;

reg[1:0] sl;

wire[6:0] result;

parametertimes=20;

initial

begin

n=0;

reset=1;

clk=0;

sl=0;

#100 reset=0;

#100 reset=1;

repeat(times)

begin

#50sl={$random}%3;

#50 n={$random}%6;

end

#1000 $stop;

end

always #`clk_cycleclk=~clk;

myfunctionmyfunct(.clk(clk),.n(n),.result(result),.reset(reset),.sl(sl));

endmodule

带控制端的逻辑运算电路_分别完成正整数的平方、立方和阶乘的运算verilog语言的更多相关文章

  1. 高版本teamview的成为被控制端时,会一直出现“正在初始化显示参数”

    故障现象:高版本teamview的成为被控制端时,控制端会一直出现“正在初始化显示参数”,如图是teamview13作为服务器端,控制端连接一直出现这个情况 做好的解决办法: 把被控制端的teamvi ...

  2. 升鲜宝V2.0_杭州生鲜配送行业,升鲜宝供应链B端订货系统使用说明_升鲜宝生鲜供应链管理系统_15382353715_余东升

    升鲜宝V2.0_杭州生鲜配送行业,升鲜宝供应链B端订货系统使用说明_升鲜宝生鲜供应链管理系统_15382353715             升鲜宝生鲜配送供应链系统经过这些年的发展,形成一套独特的订 ...

  3. VS2015 定时服务及控制端

    一.  服务端 如下图—新建项目—经典桌面—Windows服务—起名svrr 2. 打到server1 改名为svrExecSqlInsert 右击对应的设计界面,添加安装服务目录结构如图 3. sv ...

  4. 快速电路仿真器(FastSPICE)中的高性能矩阵向量运算实现

    今年10-11月份参加了EDA2020(第二届)集成电路EDA设计精英挑战赛,通过了初赛,并参加了总决赛,最后拿了一个三等奖,虽然成绩不是很好,但是想把自己做的分享一下,我所做的题目是概伦电子出的F题 ...

  5. 完整版本的停车场管理系统源代码带服务端+手机android客户端

    该源码是停车场管理软件附带源代码 J2EE服务端+android客户端,也是一套停车场管理车辆进出的管理软,喜欢的朋友可以看看吧. 应用的后台管理主要功能介绍:1  机构管理 ,机构有从属管理< ...

  6. 高仿QQ的即时通讯应用带服务端软件安装

    Android 基于xmpp协议,smack包,openfire服务端(在下面)的高仿QQ的即时通讯实现.实现了注册,登录,读取好友列表,搜索好友,添加分组,添加好友,删除好友,修改心情,两个客户端之 ...

  7. Android应用源码图书馆管理系统带服务端数据库

    本项目是一套基于安卓的图书馆管理系统,包括jsp服务端源码,安卓客户端源码和mysql数据库.代码比较简单,供学习anroid与j2ee交互.例如Sqlite的使用.安卓客户端与jsp的web服务端的 ...

  8. 3065: 带插入区间K小值_树套树_替罪羊树_权值线段树

    经过周六一天,周一3个小时的晚自习,周二2个小时的疯狂debug,终于凭借自己切掉了这道树套树题. Code: #include <cstdio> #include <algorit ...

  9. DC综合简单总结(2)

    DC综合简单总结(2) 建立时间和保持时间和数据输出延时时间 一.概念 建立时间和保持时间都是针对触发器的特性说的. 建立时间(Tsu:set up time) 是指在触发器的时钟信号上升沿到来以前, ...

随机推荐

  1. MVC小系列(二)【Razor 模板引擎】

    Razor 模板引擎 Razor模板页:它使我们不用再使用master模板了 一 :@Url.Content:是可以加载CSS和JS等文件比如: <link href="@Url.Co ...

  2. iOS10---新特性以及适配点(转)

    iOS 10 新特性以及适配点 SiriKit 所有第三方应用都可以用Siri,支持音频.视频.消息发送接收.搜索照片.预订行程.管理锻炼等 Proactive Suggestions 系统预先建议 ...

  3. javascript 函数学习

    1.自以为好的部分,更多访问: http://www.runoob.com/js/js-tutorial.html 2.this 3.new 4.闭包 5.自执行

  4. 【制作镜像Win*】环境准备(设置yum源)

    首先使用 yum repolist all 命令查看当前启用了哪些yum源. 镜像配置文件在/etc/yum.repos.d/目录下,ll会看到很多repo文件,每一个文件里面都配置了yum源: [b ...

  5. android studio安装后卡在fetching Android sdk compoment information

    解决办法: 找到android studio 安装目录下bin目录中(D:\Android\Android Studio\bin)的idea.properties文件,在文件末尾处添加disable. ...

  6. C# 利用TextBox的Text属性实现换行加字符 "\r\n"

    要让一个TextBox显示多行文本就得把它的Multiline属性设置为true,可是如果你是要把TextBox的Text属性设置多行文本时,换行符由两个字符组成:"\r\n". ...

  7. (redis缓存更新策略)postgres 9.4.1 && redis 3.7.0 && redis_fdw_REL9_4_STABLE

    首先下载redis_fdw,这里要注意下载的版本.(https://github.com/pg-redis-fdw/redis_fdw) 一开始,我下载了REL9_4_STABLE_pre2.8版本, ...

  8. appium的安装过程(图文界面)

    资料来源:http://www.cnblogs.com/fnng/p/4560298.html 1.准备安装材料

  9. 【python】python的二元表达式和三元表达式

    二元表达式 x,y=4,3if x>y: s = yelse: s= x print s   x if x<y else y 三元表达式: >>> def f(x,y): ...

  10. [swift] NSClassFromString 无法获得该类

    在写OC的时候需要用 NSClassFromString(classStringName)获得一个类,如果存在就用这个类型来声明一个对象, 但是在swift的时候却往往得不到这个类,为什么呢? 从截图 ...