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 ...
随机推荐
- Oracle条件判断
一. if/else 语法:if 条件表达式 then语句块:if 条件表达式 then 语句块end if;elsif 条件表达式 then语句块:...else语句块:end if;举例:输入一个 ...
- 201771010113 李婷华 《面向对象程序设计(Java)》第八周总结
一.理论知识部分 1.Java为了克服单继承的缺点,Java使用了接口,一个类可以实现一个或多个接口. 2.在Java程序设计语言中,接口不是类,而是对类的一组需求描述,由常量和一组抽象方法组成.接口 ...
- opencv-12-高斯滤波-双边滤波(附C++代码实现)
开始之前 这几天由于自己的原因没有写, 一个是因为自己懒了, 一个是感觉这里遇到点问题不想往下写了, 我们先努力结束这个章节吧, 之前介绍了比较常用而且比较好理解的均值和中值滤波, 但是呢,在例程Sm ...
- SAP ME31K SUBOBJECT_NOT_FOUND
SUBOBJECT_NOT_FOUND 在使用BAPI:BAPI_CONTRACT_CREATE创建协议时报错, 错误位置在此处,子对象没找到 GOOGLE到相关解决方案 事务代码:SLG0 新增对象 ...
- STM32 标准库V3.5启动文件startup_stm32f10xxx.s分析
layout: post tags: [STM32] comments: true 文章目录 layout: post tags: [STM32] comments: true 前言 分析startu ...
- 第一章 Windows内核概述
第一章 Windows内核概述 这一章节描述了Windows内核知识中最重要的几个概念,这些话题在这本书之后会有更详细的描述,那些会与当前的主题密切相关.要确保你理解这个章节的概念,因为这些概念构成了 ...
- 真香警告!扩展 swagger支持文档自动列举所有枚举值
承接上篇文章 <一站式解决使用枚举的各种痛点> 文章最后提到:在使用 swagger 来编写接口文档时,需要告诉前端枚举类型有哪些取值,每次增加取值之后,不仅要改代码,还要找到对应的取值在 ...
- Bash Shell之内建命令和保留字
转载自:http://blog.chinaunix.net/uid-25880122-id-2941630.html 命令 含义 ! 保留字,逻辑非 : 不做任何事,只做参数展开 . 读取文件并在sh ...
- zsy后台管理系统-架构设计
Zsy框架总体架构设计 1.Mysql数据库,存储所有表的数据. 2.Zsy-基础项目(Zsy-Model,Zsy-Dao,Zsy-Service,Zsy-Web),基于SSM框架.项目功能包含基本的 ...
- 14.6 kafka
14.6 kafka 为什么用消息队列 举例 比如在一个企业里,技术老大接到boss的任务,技术老大把这个任务拆分成多个小任务,完成所有的小任务就算搞定整个任务了. 那么在执行这些小任务的时候,可能有 ...