带控制端的逻辑运算电路_分别完成正整数的平方、立方和阶乘的运算verilog语言
练习:设计一个带控制端的逻辑运算电路,分别完成正整数的平方、立方和阶乘的运算。
//--------------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语言的更多相关文章
- 高版本teamview的成为被控制端时,会一直出现“正在初始化显示参数”
		
故障现象:高版本teamview的成为被控制端时,控制端会一直出现“正在初始化显示参数”,如图是teamview13作为服务器端,控制端连接一直出现这个情况 做好的解决办法: 把被控制端的teamvi ...
 - 升鲜宝V2.0_杭州生鲜配送行业,升鲜宝供应链B端订货系统使用说明_升鲜宝生鲜供应链管理系统_15382353715_余东升
		
升鲜宝V2.0_杭州生鲜配送行业,升鲜宝供应链B端订货系统使用说明_升鲜宝生鲜供应链管理系统_15382353715 升鲜宝生鲜配送供应链系统经过这些年的发展,形成一套独特的订 ...
 - VS2015 定时服务及控制端
		
一. 服务端 如下图—新建项目—经典桌面—Windows服务—起名svrr 2. 打到server1 改名为svrExecSqlInsert 右击对应的设计界面,添加安装服务目录结构如图 3. sv ...
 - 快速电路仿真器(FastSPICE)中的高性能矩阵向量运算实现
		
今年10-11月份参加了EDA2020(第二届)集成电路EDA设计精英挑战赛,通过了初赛,并参加了总决赛,最后拿了一个三等奖,虽然成绩不是很好,但是想把自己做的分享一下,我所做的题目是概伦电子出的F题 ...
 - 完整版本的停车场管理系统源代码带服务端+手机android客户端
		
该源码是停车场管理软件附带源代码 J2EE服务端+android客户端,也是一套停车场管理车辆进出的管理软,喜欢的朋友可以看看吧. 应用的后台管理主要功能介绍:1 机构管理 ,机构有从属管理< ...
 - 高仿QQ的即时通讯应用带服务端软件安装
		
Android 基于xmpp协议,smack包,openfire服务端(在下面)的高仿QQ的即时通讯实现.实现了注册,登录,读取好友列表,搜索好友,添加分组,添加好友,删除好友,修改心情,两个客户端之 ...
 - Android应用源码图书馆管理系统带服务端数据库
		
本项目是一套基于安卓的图书馆管理系统,包括jsp服务端源码,安卓客户端源码和mysql数据库.代码比较简单,供学习anroid与j2ee交互.例如Sqlite的使用.安卓客户端与jsp的web服务端的 ...
 - 3065: 带插入区间K小值_树套树_替罪羊树_权值线段树
		
经过周六一天,周一3个小时的晚自习,周二2个小时的疯狂debug,终于凭借自己切掉了这道树套树题. Code: #include <cstdio> #include <algorit ...
 - DC综合简单总结(2)
		
DC综合简单总结(2) 建立时间和保持时间和数据输出延时时间 一.概念 建立时间和保持时间都是针对触发器的特性说的. 建立时间(Tsu:set up time) 是指在触发器的时钟信号上升沿到来以前, ...
 
随机推荐
- Android 70道面试题汇总
			
1. 下列哪些语句关于内存回收的说明是正确的? (b) A. 程序员必须创建一个线程来释放内存 B. 内存回收程序负责释放无用内存 C. 内存回收程序允许程序员直接释放内存 D. 内存回收程序可以在指 ...
 - HOOK函数(一)——进程内HOOK
			
什么是HOOK呢?其实很简单,HOOK就是对Windows消息进行拦截检查处理的一个函数.在Windows的消息机制中,当用户产生消息时,应用程序通过调用GetMessage函数取出消息,然后把消息放 ...
 - Block中的引用循环
			
原文地址:http://www.cnblogs.com/lujianwenance/p/5910490.html Block在实际的开发中非常的常用,事件回调.传值.封装成代码块调用等等.很多人都对b ...
 - c编程:用户输入一个数值n,打印出出1到n之间的所有质数
			
#include <stdio.h> int func(int i ) { //定义一个变量temp=2,当主函数引入的数大于temp时进入for循环.当它在比自己小的数中找到一个能背整除 ...
 - html-----010
			
22 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o ...
 - HDU 1619 Unidirectional TSP(单向TSP + 路径打印)
			
Unidirectional TSP Problem Description Problems that require minimum paths through some domain appea ...
 - devenv 命令用法
			
devenv是VisualStudio的可执行程序,一般安装在“C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE”下. 这 ...
 - .NET MVC 依赖注入 来龙去脉
			
找了很久,找到一篇好文章,细读很有收获: 点击打开链接http://www.codeproject.com/Articles/560798/ASP-NET-MVC-Controller-Depende ...
 - 【转】ORACLE日期时间 等函数大全
			
转自:ORACLE日期时间函数大全 ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: ...
 - CentOS 6.4 使用第三方源
			
1.EPEL源 CentOS 6.x 32-bit (x86/i386):rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/ep ...