Verilog (二) multiplexer and decoder
1 mutiplexer 数据选择器
1) one-bit wide 2-1 mux
wire dout = sel? din1 : din0; // conditional continuous and wire assignment
2) 4-1 mux
module mux4_1(sel, din0, din1, din2, din3, dout);
input [:] sel;
input din0, din1, din2, din3;
output dout;
reg dout; always @ (sel or din0 or din1 or din2 or din3)
begin
case(sel)
'b00: dout = din0;
'b01: dout = din1;
'b10: dout = din2;
'b11: dout = din3;
default: dout = din0;
endcase
end endmodule
3) two-bit wide 8-1 mux (case statement)
| sel | din7 | din6 | din5 | din4 | din3 | din2 | din1 | din0 | dout |
| 000 | XX | XX | XX | XX | XX | XX | XX | DD | din0 |
| 001 | XX | XX | XX | XX | XX | XX | DD | XX | din1 |
| 010 | XX | XX | XX | XX | XX | DD | XX | XX | din2 |
| 011 | XX | XX | XX | XX | DD | XX | XX | XX | din3 |
| 100 | XX | XX | XX | DD | XX | XX | XX | XX | din4 |
| 101 | XX | XX | DD | XX | XX | XX | XX | XX | din5 |
| 110 | XX | DD | XX | XX | XX | XX | XX | XX | din6 |
| 111 | DD | XX | XX | XX | XX | XX | XX | XX | din7 |
2 decoder 解码器/译码器
n 个输入 => 2n 个输出
1) 3-8 binary decoder
module decoder3_8(A, Y);
input [:] A;
output [:] Y;
reg [:] Y; always @ (A)
case (A)
: Y = 'b00000001;
: Y = 'b00000010;
: Y = 'b00000100;
: Y = 'b00001000;
: Y = 'b00010000;
: Y = 'b00100000;
: Y = 'b01000000;
: Y = 'b10000000;
default: Y = 'b0;
endcase endmodule
decoder3_8
2) 3-6 binary decoder with enable
module decoder3_6(A, EN, Y);
input EN;
input [:] A;
output [:] Y;
reg [:] Y; always @ (EN or A)
case ({EN, A})
'b1000: Y = 6'b000001;
'b1001: Y = 6'b000010;
'b1010: Y = 6'b000100;
'b1011: Y = 6'b001000;
'b1100: Y = 6'b010001;
'b1101: Y = 6'b100000;
default: Y = 'b0;
endcase endmodule
decoder3_6_en
Verilog (二) multiplexer and decoder的更多相关文章
- ARM中的总线
ARM中的总线用于不同部件之间的通信.有两种不同类型的设备连接到总线:ARM处理器,它是总线的主设备,拥有对总线的仲裁权,可以通过同一总线主动发起数据传输请求:外围器件,是总线的从设备,在总线上是被动 ...
- 【Netty】(9)---Netty编解码器
Netty编解码器 在了解Netty编解码之前,先了解Java的编解码: 编码(Encode)称为序列化, 它将对象序列化为字节数组,用于网络传输.数据持久化或者其它用途. 解码(Decode)称为反 ...
- NodeJS学习笔记 (29)二进制解码-string_decoder(ok)
原文:https://github.com/chyingp/nodejs-learning-guide 自己过一遍: 模块简介 string_decoder模块用于将Buffer转成对应的字符串.使用 ...
- System Verilog基础(二)
这一篇笔记主要记录Procedural,Process,Task and function,Interface和Communication中值得注意的点. 1.Procedural 写testbenc ...
- Verilog MIPS32 CPU(二)-- Regfiles
Verilog MIPS32 CPU(一)-- PC寄存器 Verilog MIPS32 CPU(二)-- Regfiles Verilog MIPS32 CPU(三)-- ALU Verilog M ...
- 【第一季】CH05_FPGA设计Verilog基础(二)Enter a post title
[第一季]CH05_FPGA设计Verilog基础(二) 5.1状态机设计 状态机是许多数字系统的核心部件,是一类重要的时序逻辑电路.通常包括三个部分:一是下一个状态的逻辑电路,二是存储状态机当前状态 ...
- 在SublimeText3中搭建Verilog开发环境记录(二)
接上文 SublimeText3中搭建Verilog开发环境记录(一) 在实现了基础功能后,继续添加插件,让功能更为完善: 快速创建代码模块(snippet) Ctrl+鼠标左键实现模块跳转 通过iV ...
- CRC校验原理和verilog实现方法(二)
1 前言 在 前面的博客 CRC校验原理和verilog实现方法(一) 中,介绍了CRC校验的原理和手动计算过程.本文说一下我在学习CRC校验FPGA实现的一点心得体会. 2 线性反馈移位寄存器 ...
- Verilog学习笔记简单功能实现(二)...............全加器
先以一位全加器为例:Xi.Yi代表两个加数,Cin是地位进位信号,Cout是向高位的进位信号.列表有: Xi Yi Cin Sum Cout 0 0 0 0 0 0 0 1 1 0 ...
随机推荐
- LGLProgressHUD
不想用第三方的指示器,感觉有点大,自己写了一个简单的活动指示器,目前只有两种效果.效果如图 第一种: 第二种 第二种可以随着提示文字的增多而变长 LGLProgressHUD.h // // LGLP ...
- java微信开发
所谓的微信开发就是在微信开发模式之下,对微信进行公众号和企业号的扩展开发. 如果要让你的微信公众号有更多的功能,比如菜单支持,自动的信息服务,查询,消息推送等,就必须开启微信的开发模式.进入微 ...
- SharePoint 2013 Workflow 分布式配置问题记录
SharePoint 2013 发布已经有一段时间,前段事件主要是做财务项目,用到Oracle和HFM,由于从来没了解过这两个软件,把大部分时间用在了学习Oracle和HFM的API,目前对HFM的A ...
- 一个页面从输入 URL 到页面加载完的过程中都发生了什么事情?
过程概述 浏览器查找域名对应的 IP 地址: 浏览器根据 IP 地址与服务器建立 socket 连接: 浏览器与服务器通信: 浏览器请求,服务器处理请求: 浏览器与服务器断开连接. 以下为详细解析: ...
- android ImageSwitcher
<?xml version="1.0" encoding="UTF-8"?> <RelativeLayout xmlns:android=&q ...
- MS10-046漏洞测试
这次用到MS10-046这个远程执行漏洞(Windows快捷方式LNK文件自动执行代码漏洞攻击) 命令: 1. msfconsole //启动MSF Metasploit 2. sear ...
- ad组策略和sharepoint office打开文档关系
组策略管理器 组策略继承 新建组策略 更新组策略 服务器端 1.cmd命令:gpupdate /force 2.更新ad站点与服务,针对多台ad 客户端 1.cmd命令:gpupdate /force ...
- Sharepoint学习笔记—习题系列--70-573习题解析 -(Q91-Q93)
Question 91You have a custom user profile property named MyProperty.You need to create a Web Part th ...
- MVC.Net: 解决Attempted to access an unloaded appdomain的问题
在C#中尝试获取AD帐号信息时,会随机出现Attempted to access an unloaded appdomain的问题,解决方法如下: 将 principalContext = new P ...
- IOS开发--待研究源码(持续添加更新)
1.丰富的CAEmitterLayer制作的粒子效果,比如烟花效果 (还未研究) 该项目本人未研究,待以后有时间或者有需求再研究 github源码下载地址:https://github.com/lic ...