https://mp.weixin.qq.com/s/Gh2xJJvfg1SlyuayK4LRyQ
二进制运算下0,1互为补数,n位二进制数a的补数为2^n - a
.
.
https://en.wikipedia.org/wiki/Two%27s_complement
参考链接
https://github.com/wjcdx/jchdl/blob/master/src/org/jchdl/model/gsl/operator/arithmetic/code/ComplementOne.java
1.创建Sub.java, 并生成构造方法和logic()方法
略
根据逻辑原理图,添加输入输出线
3. 在构造方法中搜集输入输出线并调用construct()方法
4. 在logic()方法中创建子节点并连线
计算方法:2的补码 = 1的补码 + 1.
5. 创建inst静态方法方便后续使用
略
6. 创建main方法执行验证
运行结果为:
即-1的补码表示。
7. 生成Verilog
生成定制化模块名:
调用toVerilog()方法生成Verilog实现。
执行结果如下:
其余子模块的生成代码略去。