09 2018 档案

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