Verilog——多路选择器逻辑设计
二选一逻辑
模块fn_sw功能:
当sel为0时y是a和b的与;当sel为1时y是a和b的异或。
Verilog代码:
使用assign语句块实现二选一功能
module fn_sw(a,b,sel,y);
//定义端口属性
input a;
input b;
input sel;
output y;//输入输出的关系assign y=sel?(a^b):(a&b);//这里的问号冒号语句,含义是:如果sel为1,则y等于(a^b),否则等于(a&b)
//问号冒号语句实现二选一endmodule
使用always语句块实现二选一功能:
module fn_sw(a,b,sel,y);
//定义端口属性
input a;
input b;
input sel;
output y;reg y; //always语句块里赋值的变量需要是reg型//always语句块
always@(a or b or sel) //@后面的(a or b or sel)是敏感变量,组合逻辑输入,里面的输入变量要写全
beginif(sel==1)begin //if else语句 实现二选一y<=a^b; //reg型变量赋值用带箭头的等号endelse beginy<=a&b; //reg型变量赋值用带箭头的等号end
endendmodule
测试代码testbench
//testbench of fn_sw
module fn_sw_tb;
reg a,b,sel;
wire y;
fn_sw fn_sw(.a(a),.b(b),.sel(sel),.y(y));//异名例化,前面加.
//改变输入
initial begina<=0;b<=0;sel<=0;#10 a<=0;b<=0;sel<=1;#10 a<=0;b<=1;sel<=0;#10 a<=0;b<=1;sel<=1;#10 a<=1;b<=0;sel<=0;#10 a<=1;b<=0;sel<=1;#10 a<=1;b<=1;sel<=0;#10 a<=1;b<=1;sel<=1;#10 $stop;
endendmodule
多路选择逻辑
模块fn_sw功能:
当sel为00时y是a和b的与;
当sel为01时Y是a和b的或;
当sel为10时y是a和b的异或;
当sel为11时y是a和b的同或;
Verilog代码:
使用case语句实现多路选择功能
`timescale 1ns/10ps
module fn_sw(a,b,sel,y);
//定义端口属性
input a;
input b;
input sel;
output y;reg y; //always语句块里赋值的变量需要是reg型//always语句块
always@(a or b or sel)
begincase(sel) //case语句块2'b00:begin y<=a&b;end //2'b指的是2bit变量2'b01:begin y<=a|b;end2'b10:begin y<=a^b;end2'b11:begin y<=~(a^b);endendcase
endendmodule
测试代码testbench
//-----testbench of fn_sw_4
module fn_sw_4_tb;
reg[3:0] absel;
wire y;fn_sw_4 fn_sw_4(.a(absel[0]),.b(absel[1]),.sel(absel[3:2]),.y(y));intial beginabsel<=0;//absel赋初值#200 $stop;//过200ns结束Verilog系统任务,仿真结束
end
always #10 absel<=absel+1;//每过10ns对absel进行加一
//always #遍历逻辑值endmodule
Verilog——多路选择器逻辑设计相关推荐
- 数字集成电路设计(四、Verilog HDL数字逻辑设计方法)(一)
文章目录 1.Verilog语言的设计思想和可综合特性 2. 组合电路的设计 2.1 数字加法器 2.2 数据比较器 2.3 数据选择器 2.4 数字编码器 2.4.1 3位二进制8线-3线编码器 2 ...
- verilog 多路选择器 multiplexer
verilog 多路选择器 multiplexer 自己写了一个多路选择器,写的端口数量太多,所以是用来看行为级仿真的. // An highlighted block module multiple ...
- Verilog 多路选择器(MUX)
Verilog 多路选择器(MUX) 一般的遇到的情况都是单独的output 信号,对于inout信号,我们怎么做多路选择器呢? 1. inout.input.output的不同 2.inout电路 ...
- FPGA零基础学习:基于FPGA的多路选择器设计(附代码)
FPGA零基础学习:基于FPGA的多路选择器设计(附代码) 大侠好,欢迎来到FPGA技术江湖.本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的& ...
- HDLBits答案(7)_Verilog多路选择器
Verilog多路选择器 HDLBits链接 定义 多路选择器(Multiplexer)简称多路器,它是一个多输入.单输出的组合逻辑电路,在数字系统中有着广泛的应用.它可以根据地址码(选择码)的不同, ...
- 多路选择器(4选1)
Verilog 多路选择器 实验内容:做一个4选1的mux,并且进行波形仿真 和2选1的mux对比,观察资源消耗的变化 1.MUX4-1 实验代码部分: module mux4_1 (IN0 , // ...
- 【数字逻辑设计】Logisim构建多路选择器
多路选择器在数字逻辑设计中用途广泛,其逻辑表达式是: f = s ′ x 1 + s x 2 f = s'x1 + sx2 f=
- 数字逻辑---头歌实训作业---多路选择器设计与应用(Logisim)
第1关:2选1选择器设计 如有任何不解或者想要最终实验代码,可评论区喊话哦,希望我的答案对你有帮助,点个关注再走吧,感谢!!! 本关卡最终答案: 任务描述 本关任务:在Logisim中绘制2选1多路选 ...
- 数字逻辑-头歌实训作业-多路选择器设计与应用(Logisim)
准备工作 首先要下载Logisim,我开始使用是真的痛苦,老师也不讲 中文版下载,使用码云下载地址 把那两个logisim-ita-cn-20200118.exe,logisim-ita-cn-202 ...
最新文章
- 理解RESTful架构
- 手把手教你怎样免费注冊国际顶级域名
- 微型计算机的硬盘电源,自己动手估算电脑的功率 | 微型计算机官方网站 MCPlive.cn...
- CNN模型复杂度(FLOPs、MAC)、参数量与运行速度
- 实现一个div在浏览器水平居中
- excel导入mysql语句_求助:用SQL语句从Excel将数据导入到SQL数据库
- 中打开终端_macOS中轻松实现Finder当前目录中快速打开终端
- 【免费】某机构最新3980元机器学习/大数据课程高速下载,限量200份
- opencv-api getStructuringElement
- Objective-C 的 self 和 super 详解
- ATL--创建简单的ATL之dll工程,添加“ATL简单对象”类的参数说明
- 词法分析 有穷自动机
- Leetcode 863.二叉树中所有距离为K的结点
- noip2013day1模拟赛
- 通达oa 2013 php解密,通达OA 2011-2013 通杀GETSHELL修复补丁
- 俄罗斯方块C4droid
- java 常用前端框架_Java Web前端到后台常用框架介绍
- Ubuntu下codeblocks汉化
- Python源码阅读(一)
- mysql还原数据库非常慢_mysql还原数据库慢