jchdl - GSL Node
- netI:连接在节点Input接口上的线;
- netO: 链接在节点Output接口上的线;
- ioI:节点的Input接口,与netI中的线一一对应;
- ioO:接口Output接口,与netO中的线一一对应;
- 收集连接在接口Input接口上的线的方法:
- in(Net): 添加一条输入线;
- in(Net[]):添加一组输入线;
- 收集连接在接口Output接口上的线的方法:
- out(Net): 添加一条输出线;
- out(Net[]):添加一组输出线;
- 获取节点Input接口的方法:
- in(int index): 获取第index个Input接口;
- inputs(): 获取所有的Input接口;
- inputs(int from):获取从from开始的所有接口;
- inputs(int from, int to):[from, to),获取从from(包含)到to(不包含)的所有接口;
- 获取节点Output接口的方法:
- out(int index): 获取第index个Output接口;
- outputs(): 获取所有的Output接口;
- outputs(int from):获取从from开始的所有接口;
- outputs(int from, int to):[from, to),获取从from(包含)到to(不包含)的所有接口;
- 节点内部逻辑构建方法:logic()
- 节点构建方法:construct()
- 转换为Verilog的方法:toVerilog()
- 收集节点构造方法中提供的输入线和输出线;
- 调用construct()方法:
- 根据收集的输入线和输出线,分别创建足够数量的Input接口和Output接口与之对应;
- 调用用户自定义的logic()方法构建节点内部逻辑;
- 将输入线和输出线与节点的Input接口和Output接口一一连接;
- 创建线或一组线从Input接口牵出。(创建线时即可自动将Input接口连接到新创建的线的Input接口上,从而驱动(driven)线)
- 创建线或一组线连接到Output接口。(创建线时即可自动把线的Output接口连接到节点的Output接口上)
- 创建内部子节点;(创建内部子节点时,即可自动把Input牵出作为子节点输入线的线,连接到子节点的Input接口上;并且自动把子节点的Output接口连接到子节点的输出线上)
- 把输入线连到Input接口上;
- 从Input接口牵出线连到内部子节点上;
- 从内部子节点牵出线连接到Output接口上;
- Output接口牵出线以供后续使用;(连接到下一个节点,或者接地,或者悬空供观察使用)
- 构造函数
- 收集输入线 in1, in2, sel;
- 收集输出线out;
- 调用construct方法构建Mux节点;
- 内部逻辑
- 从输入口牵出线,比如:
- 创建线连接到输出口,比如:
- 创建子节点Not需要的输出线selNot;
- 创建字节点Not:sel作为输入线,selNot作为输出线;
- 同理,逐个创建子节点:两个与门,一个或门;
- 节点内部的线
- 创建Mux节点
jchdl - GSL Node的更多相关文章
- jchdl - GSL Port
https://mp.weixin.qq.com/s/DVmMrCFgNLuZDtssQ85w7A org.jchdl.model.gsl.core.meta.Port.java gen ...
- jchdl - GSL实例 - Add
https://mp.weixin.qq.com/s/6xcYYdYZTBPTf25xFluzBQ 使用FullAdder级联实现加法器 参考链接: https://github.com/wj ...
- jchdl - GSL实例 - Mux4(使用Mux)
https://mp.weixin.qq.com/s/GrYJ4KXEFRoLLmLnAGoMSA 原理图 参考链接 https://github.com/wjcdx/jchdl/blob/ma ...
- jchdl - GSL实例 - Mux4(使用WireVec简化输入线声明)
https://mp.weixin.qq.com/s/yJx_dV6ScUStJtPWVuD38w 原理图 参考链接 https://github.com/wjcdx/jchdl/blob/ma ...
- jchdl - GSL值的传播
https://mp.weixin.qq.com/s/jgMljoca-Cwe9x0NaTLzZg GSL的拓扑模型是线和节点连接的模型,值的传播,即是值在线和节点之间传播和转化的过程. 值的 ...
- jchdl - GSL Wire
https://mp.weixin.qq.com/s/4w_wwwCd6iBhh0QR2wK81Q org.jchdl.model.gsl.core.datatype.net.Wire.java ...
- jchdl - GSL实例 - DFlipFlop(D触发器)
https://mp.weixin.qq.com/s/7N3avTxTd2ZUnAcKg4w3Ig D触发器对边沿敏感,只有当相应的边沿出现时,才会触发D的值传播到输出Q. 引自:htt ...
- jchdl - GSL实例 - Div
因为对除法研究不深,这里略去不表. 有兴趣可以参考链接: https://github.com/wjcdx/jchdl/blob/master/src/org/jchdl/model/gsl/op ...
- jchdl - GSL实例 - MulC2(有符号数的乘法)
这里的实现,先把符号位取出来,使用两个正数相乘,然后在把符号加到乘积上. 参考链接 https://github.com/wjcdx/jchdl/blob/master/src/org/jch ...
随机推荐
- 线段树 逆序对 Minimum Inversion Number HDU - 1394 Laptop
Minimum Inversion Number HDU - 1394 求最小反转数,就是求最少的逆序对. 逆序对怎么求,就是先把所有的数都初始化为0,然后按照顺序放入数字,放入数字前查询从这个数往后 ...
- STM32CubeMX 多通道 ADC DMA 配置 测试小程序
要点: 1.STM32F103C8T6单片机 2.ADC+DMA 多通道 重点是ADC+DMA配置,ADC+DMA配置如下 其他配置略略略略. 然后各位自行直看.ioc文件,生成代码后在while之前 ...
- (三)Redis &分布式锁
1 Redis使用中的常见问题和解决办法 1.1 缓存穿透 定义:缓存系统都是按照key去缓存查询,如果不存在对应的value,就应该去DB查找.一些恶意的请求会故意查询不存在的key,请求量很大,就 ...
- spring学习笔记(五)自定义spring-boot-starter(1)
在我们开始定义之前我们应该知道springBoot的大致运行原理,我们从springBoot启动类开始.首先我们看下这个注解,@SpringBootApplication,跟进去可以看到如下代码: @ ...
- 如何发挥Visual Studio 2019强大的编辑功能轻松编辑Keil项目
本文地址:https://www.cnblogs.com/jqdy/p/12565161.html 习惯了VS的强大编辑功能,对Keil 5越来越深恶痛绝.查阅网络文章后按图索骥初步实现了VS编辑Ke ...
- Spring 循环引用(三)源码深入分析版
@ 目录 前言 正文 分析 doGetBean 为什么Prototype不可以 createBean doCreateBean getEarlyBeanReference getSingleton b ...
- android的布局 (如何实现空心圆效果的布局)
layer-list : 简单来说layer-list就是图层列表的意思,是用来创建LayerDrawable的,LayerDrawable是DrawableResource的一种,所以,layer- ...
- 01python基础入门
一.了解python 1.总结一句话:简单易用,相对于java易学,容易上手.如果你不知道学什么语言或者先入门的话,这个是首选, 毕竟小学生也开始学了.对你有用或者是你的爱好就坚定的开始学吧! 2.下 ...
- 3、get请求(url详解)
前言 上一篇介绍了Composer的功能,可以模拟get和post请求,get请求有些是不带参数的,这种比较容易,直接放到url地址栏就行.有些get请求会带有参数,本篇详细介绍url地址格式. 一. ...
- Kubeedge-mapper 实现
应用场景: 利用GitHub上的温度传感器的例子作为讲解,实现从云端获取设备终端状态及使用Java模拟设备数据.其实和官网给的视频一样,只需要将终端设备的数据转换为支持MQTT协议传输的数据,云端就可 ...