首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
jchdl - RTL Event
】的更多相关文章
jchdl - RTL Event
https://mp.weixin.qq.com/s/P9uoJwIYdM-mbiR9WCtJCg hardware modeling基于事件驱动模型,RTL中定义了多种事件. jchdl 参考了Verilog中的事件类型. 一. PosEdgeEvent 上升沿事件.对应Verilog中的posedge关键字. 使用方式为:PosEdgeEvent.of(regA),意为:观察regA的值是否从0变为1,即发生上升沿事件. 二. NegEdgeEvent 下降沿事…
jchdl - RTL Value Propagation
https://mp.weixin.qq.com/s/2_0yQYdHlSQzPw7vX7NuHA 因为建模方式的不同,RTL值的传播不同于GSL值的传播. jchdl GSL模型的信息较多,知道Port的upstream Port和downstream Ports,也就是知道值的变化从哪里传过来,又要传到哪里去.所以GSL模型,使用推式传播(Push),即如果portA的值发生变化,则把变化事件推给portA的所有downstream ports. jchdl RTL为了…
jchdl - RTL实例 - MOS6502 ALU
https://mp.weixin.qq.com/s/nMxYVC2djk7DdAforerZPA 使用jchdl RTL实现MOS6502 CPU的ALU. 参考链接 https://github.com/wjcdx/jchdl/blob/master/src/org/jchdl/model/rtl/example/Mos6502/Alu.java 1.创建Alu.java, 并生成构造方法和logic()方法 略 2. 根据逻辑原理,添加输入输出接口 输入输出线作为类成…
jchdl - RTL
https://mp.weixin.qq.com/s/gNN2eiJnr9N02xdZVQceDQ 相较于GSL层对物理连接的建模,RTL层提高了一个抽象层次: 把物理的触发器提取为抽象的寄存器数据类型,简化了从触发器中存取值的操作. 把物理的门和开关原语的逻辑,提取为操作符号& | ~等,甚至常见的逻辑也提取为操作符号,如移位,相等判断等:把相关物理模块之间的逻辑联系,转换为寄存器之间值的运算和操作关系: 程序 = 数据 + 算法 使用数据类型(寄存器)描述数据,使用各种操作…
jchdl - RTL Module
https://mp.weixin.qq.com/s/Sr4ffU4TPPoUJpdInwWd6w jchdl Module类在概念上对应Verilog的module,作为所有用户自定义模块的父类. 所有用户创建的节点,必须继承Module类.Module为用户创建模块提供了很多支持方法,但把logic()方法留给子类自行定义. 如同Verilog一样,Module的logic()中,只包含Assign和Always这两种块的构建. 一. 类结构 主要属性 paren…
jchdl - RTL实例 - Counter4
https://mp.weixin.qq.com/s/xtvMj5f-Uvx3vesVnH0P_A 计数器. 参考链接 https://github.com/wjcdx/jchdl/blob/master/src/org/jchdl/model/rtl/example/Counter4.java 1.创建Counter4.java, 并生成构造方法和logic()方法 略 2. 根据逻辑原理,添加输入输出接口 输入输出线作为类成员存在.使用注解标明是input port还是…
jchdl - RTL实例 - Adder
https://mp.weixin.qq.com/s/9S29BCTcJfbpR62ALjSidA 加法器. 参考链接 https://github.com/wjcdx/jchdl/blob/master/src/org/jchdl/model/rtl/example/Adder4.java 1.创建Adder4.java, 并生成构造方法和logic()方法 略 2. 根据逻辑原理,添加输入输出接口 输入输出线作为类成员存在.使用注解标明是input port还是outp…
jchdl - RTL实例 - Mux
https://mp.weixin.qq.com/s/OmQRQU2mU2I5d-qtV4PAwg 二选一输出. 参考链接 https://github.com/wjcdx/jchdl/blob/master/src/org/jchdl/model/rtl/example/Mux.java 1.创建Mux.java, 并生成构造方法和logic()方法 略 2. 根据逻辑原理,添加输入输出接口 输入输出线作为类成员存在.使用注解标明是input port还是output p…
jchdl - RTL实例 - AndReg
https://mp.weixin.qq.com/s/p4-379tBRYKCYBk8AZoT8A 输入两组线相与,结果输出到寄存器. 参考链接 https://github.com/wjcdx/jchdl/blob/master/src/org/jchdl/model/rtl/example/AndReg.java 1.创建AndReg.java, 并生成构造方法和logic()方法 略 2. 根据逻辑原理,添加输入输出接口 输入输出线作为类成员存在.使用注解标明是inp…
jchdl - RTL实例 - AndAnd
https://mp.weixin.qq.com/s/JhUB3M1WhjAyUrN1HPIPTA AndAnd是三输入与门模块,输出为相与的结果. 参考链接 https://github.com/wjcdx/jchdl/blob/master/src/org/jchdl/model/rtl/example/AndAnd.java 1.创建AndAnd.java, 并生成构造方法和logic()方法 略 2. 根据逻辑原理,添加输入输出接口 输入输出线作为类成员存在.使用注…