Verilog基础之六、编码器实现
一、前言
编码是将其他信号,如图像,文字等用其他形式表示,通常针对计算机时指用二进制表示,对人通常是用十进制表示,像用十进制数表示温度,身高等,都可看作编码的过程。在电路中,编码是将数量为2的N次方的信号转换为N位2进制输出。
根据编码信号中是否允许逻辑为1的个数大于1分为普通编码器和优先编码器,普通编码器上每个要编码的信号只有1位为1,优先编码器可对编码的信号存在多位为逻辑1的进行编码。
以4-2线编码器为例,普通编码器和优先编码器真值表如下图。优先编码器中0/1可为0或1,从真值表看出,普通编码器为优先编码器的一种特殊场景。


二、编码设计
2.1 设计代码
设计中采用for循环和case语句两种方式来实现8-3编码器
测试代码
2.2 仿真结果
通过仿真结果可知,for循环和case语句实现的两种编码器结果都一致
