数据选择器概述
数据选择器是从多个输入的逻辑信号中选择一个逻辑信号输出,实现数据选择功能的逻辑电路。以两张电影票 A 和 B 为例,检票员相当于选择信号 sel(select),A 与 B 为输入信号 in1 与 in2,电影院入口为输出信号 out。在 Quartus 软件中可以设计出 2-1 数据选择器的原理图。

对应的真值表如下:

分析真值表可知:当选择信号 sel 为 0 时,in1 通道开启,out 等于 in1;当 sel 为 1 时,in2 通道开启,out 等于 in2。
Verilog 实现
使用 Verilog 语言实现 2-1 数据选择器:

代码中 in1、in2、sel 前加'wire',out 前加'reg'。wire 是连线类型,仅传递信号;reg 是寄存器类型,可存储信号。在 always@(*) 模块中,输出信号需持续根据逻辑进程更新,故使用 reg 类型。
验证与仿真
打开 RTL 视图验证电路正确性:

RTL 视图与设计一致。进行波形仿真分析:
第一组波形中,sel 恒为 0,无论 in2 如何变化,out 恒等于 in1。

第二组波形中,sel 恒为 1,无论 in1 如何变化,out 恒等于 in2。

仿真设置需注意 Tool name 选项卡中选择'Modelsim'而非'Modelsim-Altera',否则可能报错。









