![人工智能硬件电路设计基础及应用](https://wfqqreader-1252317822.image.myqcloud.com/cover/533/43738533/b_43738533.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
4.1 4-16译码器
本示例设计的是输出高电平有效的4-16译码器,将4位二进制编码转化为16位独热码。4-16译码器具有高电平有效的使能输入端口、选择输入端口。当使能信号有效时,输出的结果又选择决定信号。比如,使能信号有效时,选择信号为“0101”,那么输出信号为“0000000000100000”。本设计将3-8译码器作为元件进行级联实现4-16译码器。
3-8译码器的VHDL代码如下。3-8译码器具有3个使能输入端口:en、ena_n和enb_n,多使能端口使得3-8译码器级联更为便捷。
![](https://epubservercos.yuewen.com/B3251C/23020659009785406/epubprivate/OEBPS/Images/43035_99_1.jpg?sign=1738922734-hcqg7I0ohABYJ5zQxRD8l4XFoRMCYwIx-0-b3a525c746f4ae16485ef388c0d492a6)
![](https://epubservercos.yuewen.com/B3251C/23020659009785406/epubprivate/OEBPS/Images/43035_100_1.jpg?sign=1738922734-niZJzefF1wnwKbOpc2rfUBptdi80cyeN-0-8687b523f3855ef500a3b01483ab490d)
4-16译码器的VHDL代码如下。以下代码中,结构体的声明部分将3-8译码器decoder_3to8声明为元件,语句部分实例化了两个3-8译码器,分别作为低8位和高8位译码器。
![](https://epubservercos.yuewen.com/B3251C/23020659009785406/epubprivate/OEBPS/Images/43035_101_1.jpg?sign=1738922734-aNKwvSYMRSiPSiEVl0UkMXa86PSUuDno-0-15e58e4b800d2be2ef2da57a95f99823)
![](https://epubservercos.yuewen.com/B3251C/23020659009785406/epubprivate/OEBPS/Images/43035_102_1.jpg?sign=1738922734-q1htPknzYUiGSKSDEDjmYS3hyg65OsvV-0-8ae88f6855c97872b04f0fc2053f0faa)
图4.1是4-16译码器的RTL原理图。图4.1中,使能信号en和选择信号inp的第3位连接到两个3-8译码器元件的使能端,控制低8位和高8位译码器进行工作。两个3-8译码器元件的8位输出端口分别作为低8位和高8位连接16位输出端口outp,实现4-16译码器的独热码输出。
![](https://epubservercos.yuewen.com/B3251C/23020659009785406/epubprivate/OEBPS/Images/43035_102_2.jpg?sign=1738922734-L6L2SkSJ78bsh65B4fX7DqrZiSM7KPRp-0-a473e451c9978705efcca4ed164999d2)
图4.1 4-16译码器的RTL原理图
图4.2是4-16译码器的仿真结果。图4.2中,0ns至200ns,使能信号有效,选择输入信号每10ns自加一,输出端口输出选择信号对应的独热码。200ns后,使能信号无效,无论选择输入信号如何变化,输出端口始终为16位低电平。仿真结果验证了设计的正确性。
![](https://epubservercos.yuewen.com/B3251C/23020659009785406/epubprivate/OEBPS/Images/43035_103_1.jpg?sign=1738922734-wVgH3SSLHNXq5XhMMWZocUcjx8NkmG4n-0-7c88c25e9fb9f4f6cb87b95e0fb1e495)
图4.2 4-16译码器的仿真结果