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
热门推荐
選擇合適的廚刀:提高烹飪效率與樂趣的指南
“上门做饭月入过万” 需求当前“代厨”这门新生意好做吗?
“特朗普反对特朗普”:特朗普的选民为何无视特朗普的极右翼议程?
麻省理工学院心理学专业申请条件详解
《小怎么读》:珍惜生活中的小事,感悟智慧与哲理的力量
信用卡逾期银行委托律师打电话过来说起诉是真的吗?起诉我怎么办?
2024年Steam上最好玩的10款横版动作游戏推荐
百家姓之5——周姓,起源·迁徙·家训·名人故事
2024年汉语言文学考研院校排名一览表
不知道这些,小心被“竞业限制”条款套牢
牙根不拔可以在上面安牙吗?了解牙科医师的建议,让你不再纠结
唐氏中期筛查是查什么
章鱼小丸子的秘密配方,你绝对想不到!
外窗台裂缝处理方法及注意事项
一旦爆发战争会有哪些后果?战争之中,不论是谁都将是受害者
巡航系统:从定速到全速自适应
别让你的骨头比你先老!骨质疏松不容忽视!
亩均增收最高7000元!新安万亩丹参成为农民“钱袋子”!
科学家的故事——地质学家丁文江
mqtt.js怎么接收消息
葡萄糖的神奇用途(探究葡萄糖浇花的真相)
关于“尊重他人之道:人品好者的世界”
金融科技如何重塑银行业未来?
梅占金骏眉和正宗金骏眉区别?哪种口感好?
按摩膻中穴,疏通三焦,改善身体状况
如何评估和选择合适的散热风扇:从产品角度谈需求匹配与技术革新
如何处理,自己有家庭,又爱上婚外之人的困境?给你3个方法
1940年到1942年,二战进程发生了很多战役,你知道哪些?
带“管”回家不用怕,一份留置导尿管的居家护理送给您
青海高质量建设配电网 2024年惠及超50万人