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
热门推荐
探讨"我行我素"个性在现代社会中的适应与挑战。
流感疫苗的接种相关知识
留住历史乡愁!细数扬州地名文化遗产“最运河”
手机热点功能的使用指南:开启、注意事项与操作细节
Wireshark协议相关功能:过滤、启用/禁用、导出和统计查看
水果中的“第一泻药”正在上市,今年价格很低也很高,高价果卖到50元一斤
2024年新生的男孩姓林要怎么起名?
分层抽样方法解析及其在市场调查中的应用
腰突、腰痛怎么缓解?医生教您21天腰椎功能锻炼训练
沪苏湖高铁开通运营 温州北站“喜提”12趟列车
730亿!贵州历史投资最大项目落地毕节
提升骑行体验的自行车停车设施
西媒:巴萨剑指三冠王,五大要素成夺冠底气
重游普救寺 更崇西厢情
基本建设管理制度全解析:从企业到医院的全方位管理指南
一项医患共同制定的康复治疗计划, 助力脑出血患者重获自理能力
一项医患共同制定的康复治疗计划, 助力脑出血患者重获自理能力
重庆洪崖洞旅游攻略,晚上不来这里重庆算是白来了!
孩子身高每年长不够这个数,要看医生!
二战大纵深理论为何与闪击战有许多相似之处?战略各异手段相同
自选股的管理与市场分析
建设成渝文化副中心 绵阳底气何来?
如何正确安装钢笔墨囊,提升书写体验的详细指南
超详细!YOLO11模型架构详解、性能对比
北欧女神极乐世界武器熟练度提升攻略:从入门到精通
专题前言怎么写?一文掌握写作技巧
宜昌至重庆长江游轮旅游全攻略:必去景点与旅行时间
“洪水猛兽”?学习工具?26组家庭在游戏中找到亲子沟通新密码!
Windows 10 OOBE 屏幕详细信息
中国科学家发现肠菌产生的丁酸盐有助于改善失眠!