Gus*_*Gus 10 python hardware optimization boolean-logic
我想以表格形式定义一个布尔函数(带有n个输入和m个输出).我想找到一个实现该函数的最佳布尔表达式.这里的最优意味着,在硬件中实现它将需要尽可能少的门(可能每个门具有不同的成本)
我确信VHDL/Verilog合成器经常进行这种优化,我基本上也是出于同样的原因需要它.有某种卡诺求解器吗?或者,是否可以将问题指定为经典优化问题(SAT,整数编程)?我想用Python实现它,所以我主要是寻找一个已经完成这个的包.
找到最优解的算法具有指数复杂性,因此通常可用的工具寻求良好的实现而不是最佳实现.我不确定您的要求有多严格,或者您的功能有多大.
一种逻辑优化算法是Quine-McCluskey.有一个python实现.但是,这仅涵盖单输出情况.
$ ./qm.py -o 1,2,3
1X X1
$ ./qm.py -o 1,2
10 01
$ ./qm.py -o 0,15
1111 0000
$ ./qm.py -o 0,8,15
1111 X000
Run Code Online (Sandbox Code Playgroud)
对于多输出,最简单的策略是分别实现每个输出.它们之间可能存在一些重复的术语,可以很容易地共享; 构建逻辑以最大化共享更加困难.
| 归档时间: |
|
| 查看次数: |
1103 次 |
| 最近记录: |