jchdl - GSL实例 - Mux4

Posted wjcdx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jchdl - GSL实例 - Mux4相关的知识,希望对你有一定的参考价值。

https://mp.weixin.qq.com/s/hh0eExVFC6cxzpvNI1cA9A

 

使用门实现四选一选择器。

 

原理图

?技术分享图片?

 

参考链接

https://github.com/wjcdx/jchdl/blob/master/src/org/jchdl/model/gsl/example/Mux4to1.java

 

 

1.创建Mux4.java, 并生成构造方法和logic()方法

?技术分享图片?

 

2. 根据逻辑原理图,添加输入输出线

?技术分享图片?

 

 

3. 在构造方法中搜集输入输出线并调用construct()方法

?技术分享图片?

 

4. 在logic()方法中创建子节点并连线

?技术分享图片?

为了结构紧凑,我们直接把logic()内部临时用到的线声明为节点属性。内部使用的不与Mux4 input/output port口相连的线,则可以在声明时直接创建,在logic()中连接即可。需要与Mux4的port相连的线,在logic()中直接传入相应的port创建,最为简单。

 

另外一个需要注意的是:这里使用的And和Or都是多输入门,即输入线多于2条,无法使用原子的门节点了。

 

5. 创建inst静态方法方便后续使用

?技术分享图片?

 

6. 创建main方法执行验证

 

?技术分享图片?

 

运行结果为:

?技术分享图片?

 

四种组合逐个选择i0~i3中的值。

 

7. 生成Verilog

?技术分享图片?

 

执行结果如下:

 

?技术分享图片?

?技术分享图片?

以上是关于jchdl - GSL实例 - Mux4的主要内容,如果未能解决你的问题,请参考以下文章

jchdl - GSL实例 - Mux4(使用WireVec简化输入线声明)

jchdl - GSL实例 - Div

jchdl - GSL实例 - Add

jchdl - GSL实例 - Counter

jchdl - GSL实例 - Register

jchdl - GSL实例 - Shifter