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
热门推荐
PromQL 中的 rate、irate 和 increase 函数详解
神奇!原来适度“发呆”有这么多好处?快来放松一下吧~
“深入浅出”写作法,看似浅显易懂却有大学问和大智慧
董事会目标:为企业的成功制定战略方向
干眼症导致的眼皮发红应如何处理
抗战秘闻:青海骑兵师出青抗战,打得岗村宁次写下“恶战马彪”
颈椎病怎么治疗好的方法
喝完酒喝蜂蜜水有什么作用
李虹团队发布两款AI模型,预测单药和联合用药疗效
历史上首个皇后:助刘邦夺天下,临朝称制,西汉真正的女政治家
成都信息工程大学简介:就业前景、王牌专业,值得上吗?
金属老化疲劳检测的关键技术与应用
宕昌法院深入校园开展未成年人法治宣传教育活动
如何让你的表达更清晰易懂?学会举例说明就够了!
基于Cocos2D-X框架闯关游戏的设计(源码+万字报告+部署)
江西彩色油菜花已培育63种花色 为何鲜见?
榛子园里开出“七彩油菜花”
房产证上名字顺序的法律意义与影响
房产证上的名字前后有什么区别
可以在水中生长的竹子
转让协议是什么
基于STM32的PWM调速教学
阐教与天庭:神话体系中的两个不同实体
交易者应该掌握的12种止损方法
夏季月季长黑斑是什么原因,如何进行防治
月季白粉病防治:推荐药剂及使用方法
投资与投机:金融领域的两种截然不同的资金运用方式
增强免疫力最快的食物有哪些
迪士尼年卡调整引发争议:乐园、黄牛与游客间的博弈
武汉两座宝藏公园:新月溪与马鞍山,各有特色等你探寻