# Mux多路选择器基本信息

## 1. 芯片概述

Mux是一个4选1多路选择器，根据2位选择信号(sel)从4个输入信号(in_data[3:0])中选择一个输出到out端口。

## 2. 端口信息

### 2.1 输入端口

1. **in_data[3:0]**: 4个输入信号
   - in_data[0]: 第一个输入通道
   - in_data[1]: 第二个输入通道
   - in_data[2]: 第三个输入通道
   - in_data[3]: 第四个输入通道
   - 位宽: 4位

2. **sel[1:0]**: 2位选择信号
   - 用于选择哪个输入信号被输出
   - 位宽: 2位

### 2.2 输出端口

1. **out**: 输出信号
   - 根据sel信号选择对应的in_data输出
   - 位宽: 1位

## 3. 芯片类型

Mux是一个**组合电路**，不依赖时钟信号。其输出仅取决于当前的输入信号组合。

虽然在DUT接口中定义了时钟相关功能(xclock)，但这是为了验证框架的通用性，并非Mux本身需要时钟信号。

## 4. 功能分类与功能点

### 4.1 主要功能

1. **信号选择功能**
   - 根据sel信号的值选择对应的输入信号输出
   - 功能点:
     - sel=2'b00时选择in_data[0]
     - sel=2'b01时选择in_data[1]
     - sel=2'b10时选择in_data[2]
     - sel=2'b11时选择in_data[0]（默认情况）

2. **信号传输功能**
   - 确保选中的输入信号能够正确传输到输出端口
   - 功能点:
     - 每个输入通道的连通性验证
     - 输出信号与选中输入信号的一致性

### 4.2 边界条件处理

1. **默认路径处理**
   - 当sel为2'b11时，选择in_data[0]作为默认输出
   - 这是设计中的特殊处理，需要特别验证

2. **全0输入测试**
   - 验证所有输入为0时的输出行为

3. **全1输入测试**
   - 验证所有输入为1时的输出行为

### 4.3 功能点统计

总计约有7个主要功能点需要验证：
1. sel=2'b00时的输出正确性
2. sel=2'b01时的输出正确性
3. sel=2'b10时的输出正确性
4. sel=2'b11时的输出正确性（默认路径）
5. 每个输入通道的连通性
6. 全0输入情况下的输出
7. 全1输入情况下的输出