09 2018 档案
摘要:https://mp.weixin.qq.com/s/Nj_d3hwgNX4kWVtKsqMSWg 硬件模型编程,即Hardware Model Programming。在RTL抽象级别,硬件模型使用RTL代码描述。所谓编程指的是编写RTL代码。 程序 = 数据 + 算法 所以可以从两个方面来
阅读全文
摘要:https://mp.weixin.qq.com/s/5NWvdK3T2X4dtyRqtNrBbg 13hope: 个人理解,Verilog本身只是“建模”语言。具体到阻塞/非阻塞,只规定了两种赋值语句的行为。所以无论怎么写,仿真器和综合器都不会报错。但是存在两个问题,所描述的行为是否有物理电路与之
阅读全文
摘要:https://mp.weixin.qq.com/s/10fgjqPt2pRvIJzjDGYgBg 概念辨析 《IC-二进制, 自然数, 有符号数》:https://mp.weixin.qq.com/s/9rGs9yN-OvLvEclnDZr87Q 两个结论: 1. 如果不把符号位编码编进二进制数里
阅读全文
摘要:https://mp.weixin.qq.com/s/Gh2xJJvfg1SlyuayK4LRyQ 二的补码指对二进制数的所有位数整体求补。二进制运算下0,1互为补数,n位二进制数a的补数为2^n - a The two's complement of an N-bit number is defi
阅读全文
摘要:https://mp.weixin.qq.com/s/zZTnDdbCUCRGGpgpfAZsYQ 一的补码指对二进制数的每一位分别求补(二进制运算下0,1互为补数),实际运算即为对每一位取反。最高位为符号位。n位二进制数a的一的补数为2^n - 1 - a. The ones' complemen
阅读全文
摘要:https://mp.weixin.qq.com/s/6xcYYdYZTBPTf25xFluzBQ 使用FullAdder级联实现加法器 参考链接: https://github.com/wjcdx/jchdl/blob/master/src/org/jchdl/model/gsl/operator
阅读全文
摘要:https://mp.weixin.qq.com/s/GrYJ4KXEFRoLLmLnAGoMSA 原理图 参考链接 https://github.com/wjcdx/jchdl/blob/master/src/org/jchdl/model/gsl/example/Mux4.java 1.创
阅读全文
摘要:https://mp.weixin.qq.com/s/yJx_dV6ScUStJtPWVuD38w 原理图 参考链接 https://github.com/wjcdx/jchdl/blob/master/src/org/jchdl/model/gsl/example/Mux4.java 1.创
阅读全文
摘要:https://mp.weixin.qq.com/s/hh0eExVFC6cxzpvNI1cA9A 使用门实现四选一选择器。 原理图 参考链接 https://github.com/wjcdx/jchdl/blob/master/src/org/jchdl/model/gsl/example/
阅读全文
摘要:https://mp.weixin.qq.com/s/5mcYAllizuxyr3QSNrotrw 全加器是能够计算低位进位的二进制加法电路。与半加器相比,全加器不只考虑本位计算结果是否有进位,也考虑上一位对本位的进位,可以把多个一位全加器级联后做成多位全加器. 参考链接 https://githu
阅读全文
摘要:https://mp.weixin.qq.com/s/CtT08xZON0YxnheqDM2FAw 全加器是能够计算低位进位的二进制加法电路。与半加器相比,全加器不只考虑本位计算结果是否有进位,也考虑上一位对本位的进位,可以把多个一位全加器级联后做成多位全加器. 逻辑图 真值表 参考链接
阅读全文
摘要:https://mp.weixin.qq.com/s/Y97bIro7UlPPFCoPlzgmOQ 半加器电路是指对两个输入相加,输出一个结果位和,没有进位输入的电路。 是实现两个一位二进制数的加法运算电路。 逻辑图 真值表 参考链接 https://github.com/wjcdx/j
阅读全文
摘要:这几天看了下SystemC,发现与jchdl相似的地方,或者jchdl与之相似的地方。 但总体而言: 1. jchdl的模型更简单,更清晰; 2. jchdl还有一些建模需要的工具需要补充,比如: inout port, RTL需要增加logic以支持四值逻辑,再者jchdl要考虑如何实现sal或者
阅读全文
摘要:https://mp.weixin.qq.com/s/_9UsgUQv-MfLe8nS938cfQ Verilog中的数据类型(Data Type)是分散的,缺少一个复合数据类型:把多个wire, reg组合到一起成为一个新的类型。 如C语言里面的结构体(struct),SystemVerilog已
阅读全文
摘要:https://mp.weixin.qq.com/s/yP9xKeg0iHJChuMPzxdJtA https://github.com/wjcdx/jchdl/blob/master/src/org/jchdl/model/gsl/operator/conditional/Mux.java
阅读全文
摘要:https://mp.weixin.qq.com/s/ANlBqbDxiqV5BH9TtIxNjg 一. 非阻塞赋值(Non-blocking Assignment)是个伪需求 二. Delay只有两种实现方式? 1. 利用器件(线、们)的物理特性,进行延时;2. 定时延时:使用高频clk和计数寄存
阅读全文
摘要:https://mp.weixin.qq.com/s/mH84421WDGRb7cuU5FEFIQ Verilog的赋值很是复杂,包括: 1. Continuous assignment; 2. Procedural assignment: a. Blocking Assignment; b. No
阅读全文
摘要:https://mp.weixin.qq.com/s/2_0yQYdHlSQzPw7vX7NuHA 因为建模方式的不同,RTL值的传播不同于GSL值的传播。 jchdl GSL模型的信息较多,知道Port的upstream Port和downstream Ports,也就是知道值的变化从哪里传
阅读全文
摘要:https://mp.weixin.qq.com/s/Sr4ffU4TPPoUJpdInwWd6w jchdl Module类在概念上对应Verilog的module,作为所有用户自定义模块的父类。 所有用户创建的节点,必须继承Module类。Module为用户创建模块提供了很多支持方法,但把
阅读全文
摘要:https://mp.weixin.qq.com/s/pR6b6i98P9dRU8bhZkKaww 观察Verilog代码可以发现,对逻辑的描述中都是assign和always代码块。这正对应了硬件电路中的一个个并行电路模块。 参考Verilog,jchdl支持Assign和Always两种bloc
阅读全文
摘要:https://mp.weixin.qq.com/s/P9uoJwIYdM-mbiR9WCtJCg hardware modeling基于事件驱动模型,RTL中定义了多种事件。 jchdl 参考了Verilog中的事件类型。 一. PosEdgeEvent 上升沿事件。对应Verilog中的p
阅读全文
摘要:https://mp.weixin.qq.com/s/hWYW1Bn WhpwVu2e98qA 一. Bit 类结构如下: 主要属性: value: bit的值,只支持0,1, 分别为 Bit.BIT_0 和 Bit.BIT_1; 主要方法: 构造方法 Bit(): 创建一个Bit,值为
阅读全文
摘要:https://mp.weixin.qq.com/s/gNN2eiJnr9N02xdZVQceDQ 相较于GSL层对物理连接的建模,RTL层提高了一个抽象层次: 把物理的触发器提取为抽象的寄存器数据类型,简化了从触发器中存取值的操作。 把物理的门和开关原语的逻辑,提取为操作符号& | ~等,甚
阅读全文
摘要:https://mp.weixin.qq.com/s/jgMljoca-Cwe9x0NaTLzZg GSL的拓扑模型是线和节点连接的模型,值的传播,即是值在线和节点之间传播和转化的过程。 值的传播有两种方式: 深度优先; 广度优先; 如果值不变,则终止传播。这样可以破除触发器那样带环的拓扑结构导致的
阅读全文
摘要:https://mp.weixin.qq.com/s/Oa4qgjIUccu5Y-Jlqcyn_A org.jchdl.model.gsl.core.meta.Node.java generated by Intellij IDEA powered by yFiles Node为所有节点的父类
阅读全文
摘要:https://mp.weixin.qq.com/s/4w_wwwCd6iBhh0QR2wK81Q org.jchdl.model.gsl.core.datatype.net.Wire.java generated by Intellij IDEA powered by yFiles. 一.
阅读全文
摘要:https://mp.weixin.qq.com/s/DVmMrCFgNLuZDtssQ85w7A org.jchdl.model.gsl.core.meta.Port.java generated by Intellij IDEA powered by yFiles. 一. 类结构 主
阅读全文
摘要:https://mp.weixin.qq.com/s/HaarKjpHan08RUTlEX0XHg 一. 下载并安装JDK 8 下载链接:https://www.oracle.com/technetwork/java/javase/downloads/index.html 当前最新版本为JDK10,
阅读全文
摘要:https://mp.weixin.qq.com/s/dcBfMLOuaFtrk6i149vIVQ 第一部分 静态建模:拓扑模型 GSL层拓扑建模相对简单,由线和节点组成: 线连接各个节点; 节点上带有input/output/inout三种类型的接口(Port),供线连接; 一. Port 线与节
阅读全文
摘要:https://mp.weixin.qq.com/s/uWU6i30_q7wJT3yVJ8yqnQ jchdl:Jianchang Constructed Hardware Description Library,使用Java语言开发的硬件描述库。(Java是商标不让用,那就用名字 :-) 一. 设
阅读全文
摘要:https://mp.weixin.qq.com/s/HKxX_79DtnXmFU1Mwt1GwA 一. 有意为之 Verilog是个大杂烩,这是有意而为之。 Verilog IEEE Std(1364-2005)的摘要中写道: 提取一下: Verilog HDL的意在:for use in
阅读全文
摘要:https://mp.weixin.qq.com/s/tEDMWf1gk0e7u4hIWKM9bQ 一. 拓扑 数字电路的拓扑抽象出来之后比较简单,就是线(Wire)和开关(Switch),门(Gate)也由开关组成。 线多了之后,看上去像网,所以Verilog里面的wire的Data Typ
阅读全文
摘要:https://mp.weixin.qq.com/s/ie0R3v60IcrI6beTXHrgSg 基于Intellj IDEA+Scala插件模式开发 因为Chisel内嵌于Scala,所以Chisel3的项目实际上是Scala的项目,构建使用sbt。 下面使用官方网站上面的例子Adder,创建第
阅读全文
摘要:https://mp.weixin.qq.com/s/p7eyD6GkniFGHrnr8t2SZQ 概念辨析-Description Language还是Description Library? 一. Language的概念 Verilog, standardized as IEEE 1364, i
阅读全文
摘要:https://mp.weixin.qq.com/s/j4Ndo1R4Go9IaGbhE_nsTg Verilog, standardized as IEEE 1364, is a hardware description language (HDL) used to model electroni
阅读全文
摘要:https://mp.weixin.qq.com/s/xTk5ucvSNuwsh8C6E362cg 后续开启RISC-V开发相关内容。 RISC-V开发推荐使用Chisel编程语言。Chisel即Constructing Hardware in a Scala Embedded Language:
阅读全文
摘要:https://mp.weixin.qq.com/s/VmCTvh0c7X9DjIgIMycdlw 上一篇所提到的只是使用中文写Java,而不能算作一门新的语言。作为一门中文语言,需要语言提供的关键字等语法结构都使用中文。 最简单的只需要把Java关键字替换为中文关键字即可。 现有的Java库是否需
阅读全文

浙公网安备 33010602011771号