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 ...
随机推荐
- php时间输出结果减去一分钟
如: <?=date("m-d H:i",strtotime($rs["kgtime"]));?> 假设结果是09-03-23:30,如何让它变成0 ...
- 【漫画】JAVA并发编程之并发模拟工具
原创声明:本文来源于公众号[胖滚猪学编程],转载请注明出处. 上一节[漫画]JAVA并发编程三大Bug源头(可见性.原子性.有序性)我们聊了聊并发编程的三个bug源头,这还没开始进入并发世界,胖滚猪就 ...
- .Net Core微服务化ABP之六——处理Authentication
上篇中我们已经可以实现sso,并且为各个服务集成sso认证.本篇处理权限系统的角色问题,权限系统分两层,第一层为整体系统角色权限,区分app用户.后台用户.网站用户的接口权限,第二层为业务系统权限,对 ...
- python语法学习第七天--文件
打开文件:open() 使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法. open(file, mode='r', buffering=-1, encoding=None ...
- [NBUT 1224 Happiness Hotel 佩尔方程最小正整数解]连分数法解Pell方程
题意:求方程x2-Dy2=1的最小正整数解 思路:用连分数法解佩尔方程,关键是找出√d的连分数表示的循环节.具体过程参见:http://m.blog.csdn.net/blog/wh2124335/8 ...
- CTR学习笔记&代码实现5-深度ctr模型 DeepCrossing -> DCN
之前总结了PNN,NFM,AFM这类两两向量乘积的方式,这一节我们换新的思路来看特征交互.DeepCrossing是最早在CTR模型中使用ResNet的前辈,DCN在ResNet上进一步创新,为高阶特 ...
- git版本控制系统小白教程(下)
前言:本文主要介绍git版本控制系统的一些基础使用,适合小白入门,因为内容较多,会分为两部分进行分享,查看上部请点传送门. 删除文件 git删除文件一般有三种情况,第一种是在工作区修改了文件,但是 ...
- MySQL 查询当天、本周,本月、上一个月的数据
mysql查询当天的所有信息: SELECT * FROM 表名 WHERE year(时间字段名)=year(now()) and month(时间字段名) = month(now()) and d ...
- springmvc 校验--JSR
1.使用JSR规范是简单使用的,如果使用hibernate校验则需要在工程中添加hibernate-validate.jar,以及其他依赖的jar包. 2,在mvc配置文件中使用<mvc:ann ...
- Python中range, np.arange, np.linspace的区别
目录 range np.arange np.linspace range 特点 range()是python内置函数,指定开始值,终值和步长生成等差数列的一维数组 不包含终值 步长只能是整数,生成整数 ...