FPGA基础——卡诺图(Kmap)
变量
表示各最小项的2^n(n-变量数)个小格,排列呈矩形。小格按“循环码” 排列,保证最小项间“几何相邻”与“逻辑相邻性”的统一。(几何相邻有“内相邻” “外相邻”和“中心对称”)
归纳起来,卡诺图化简的原则是:
☆ 在覆盖函数中的所有最小项的前提下,卡诺圈的个数达到最少。
☆ 在满足合并规律的前提下卡诺圈应尽可能大。
☆ 根据合并的需要,每个最小项可以被多个卡诺圈包围。
二、案例
这是一个组合电路。读取模拟波形来确定电路的功能,然后实现它。
![](https://img2020.cnblogs.com/blog/2336314/202103/2336314-20210325200321789-1987273851.png)
其对应卡诺图如下:
![](https://img2020.cnblogs.com/blog/2336314/202103/2336314-20210325201132944-484519529.png)
直接用画圈法都是孤立的难以约简,发现特殊规律:同或、异或;
1 module top_module (
2 input a,
3 input b,
4 input c,
5 input d,
6 output q );//
7
8 assign q = (a~^b)&(c~^d)|(a^b)&(c^d); // 同或~^;异或^
9
10 endmodule