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
热门推荐
腰椎病的治疗方法
基金定期赎回:如何合理安排赎回时间与金额?
如何选择电动汽车充电站的理想位置?
00后辣味争夺战
高段位的狠人,用3个方法来深度思考
公司法对公司的员工股权激励有哪些规定
三个公式一次看懂!钢筋下料长度如何计算?
登Nature,大脑如何控制运动?DeepMind设计拥有「AI大脑」的虚拟动物
山西六日游经典行程攻略:专业导游带你领略晋地韵味
青少年“转换性障碍”高发:揭示身体信号背后的心理秘密
投SCI特刊的中稿率高吗
如何净化Web网页内容
提高猫咪免疫力的 4 种方法,让猫咪少生病!
炒苦瓜时,有人焯水,有人加糖?下锅前多加1步,不苦不涩还爽嫩
如何纪念我那难忘的童年:2025年蛇年回忆录与纪念方案!
C++第三方库的安装
伺服电机和步进电机在工业领域的应用场景有哪些不同吗
关于杜克大学的10个秘密
代码扫描如何帮助避免重复代码问题
买电视机在网上买还是实体店买好?买电视怎么选择需要注意什么?
足临泣穴的治疗功效与应用
现代设备语言设置指南:轻松选择适合你的语言选项
连锁店的经营管理方式:构建标准化与差异化的平衡
颜色出众的泰国马尾斗鱼,养鱼新手的福音!饲养简单易活!小缸都能养,适应低氧环境!
流感克星?奥司他韦不能乱吃!
用比喻说话的人真的缺逻辑吗?颠覆你的认知!
小程序生态如何提升用户粘性与转化率的5个策略
暨南大学附属深圳华侨医院肿瘤中心徐建林主任:食道癌微创与传统手术的治疗
生命线的奥秘:从手相学到健康管理
惊恐发作如何缓解和自救