Verilog实现四选一数据选择器
创作时间:
作者:
@小白创作中心
Verilog实现四选一数据选择器
引用
CSDN
1.
https://m.blog.csdn.net/weixin_61081689/article/details/143780561
本文介绍了如何使用Verilog实现一个四选一数据选择器,详细描述了三种不同的实现方法:使用case语句、if-else语句和三目运算符。此外,文章还提供了仿真程序和具体的工程获取方式,内容较为完整且具有一定的技术深度。
1. 代码实现
1.1 使用case
always @(*) begin
case (sel)
2'b00: out = data[0];
2'b01: out = data[1];
2'b10: out = data[2];
2'b11: out = data[3];
default: ;
endcase
end
1.2 使用if...else
always @(*) begin
if (sel == 2'b00) begin
out = data[0];
end else if (sel == 2'b01) begin
out = data[1];
end else if (sel == 2'b11) begin
out = data[2];
end else begin
out = data[3];
end
end
1.3 使用三目运算
assign out = (sel == 2'b00) ? data[0] :
((sel == 2'b01) ? data[1] :
((sel == 2'b10) ? data[2] : data[3]));
2. 仿真程序
initial begin
// 设置初始值
data = 4'b0xz1; // 选择一个简单的4位输入数据
sel = 2'b00; // 选择sel初始为00;输出为1
// 等待10个时间单位
#10;
// 改变sel并检查对应输出
sel = 2'b01; // 测试sel = 01;输出为高阻态z
#10;
sel = 2'b10; // 测试sel = 10;输出为不定态x
#10;
sel = 2'b11; // 测试sel = 11;输出为0
#10;
// 结束仿真
$finish;
end
仿真结果图:
3. 工程获取
具体仿真步骤详见Vscode搭建verilog开发环境-CSDN博客的第6点。
通过百度网盘分享的文件:mux4to1.rar
链接:https://pan.baidu.com/s/1QNUtt9sy4sMexjVLQJpT-A?pwd=8zhg
提取码:8zhg
热门推荐
如何评估婴儿的身高发育状况
如何快速缓解抽血后的眩晕现象
续航轻松上1000km!2年后固态电池商业化?先别高兴太早
显微镜选购指南:从高清显示到自动对焦的全方位考量
揭秘:硒的多种形态 无机硒、有机硒与生物纳米硒
刷牙时恶心干呕是怎么回事
从EXW到DDP:跨境电商物流成本控制全流程解析
“制造”变“智造” !阀门“小巨人”撑起“大市场”
喝无糖可乐会发胖吗?无糖可乐的热量是多少大卡?
宝宝为什么有鼻屎感冒咳嗽
指甲上出现黑线别不当回事,可能是癌变!
登山机伤膝盖吗?五个方法教你保护膝盖
为什么推荐《繁星·春水》?
里弗斯:赛前利字给大家做了动员我们来这里是为了赢得比赛的
秦兵马俑被誉为“世界第八大奇迹”的原因
菠菜功效抗癌助减肥?菠菜10好处+禁忌请笔记、2种人吃菠菜要小心
面临拆迁,这几件事可碰不得!
入门级雪莉酒推荐:六款适合新手的佳酿
去除蔬菜水果农药残留的科学方法
“静”享健康丨“生熟分开”怎么做?竟有这些讲究!
装修贷款全攻略:利息计算与还款期限详解
如何诊断小儿腹痛
眼部按摩仪是智商税吗?医生为何不推荐护眼仪
香港总商会 : 香港天空革命!eVTOL与低空经济如何重塑城市未来?
股票财经指标选股,揭秘股市赢家的策略
溪黄草的功效与应用:从传统到现代的全面解析
Excel更新指南:从内置更新到手动下载,全方位维护最新版本
自然语言处理在提高 AI 求贤求真系统效能中的作用
唐代土地政策解析及其历史变迁
跑步的正确姿势:前脚掌着地更科学