随笔分类 - Scala
摘要:https://mp.weixin.qq.com/s/rfgptF9YxDpzDoespYtQvA 整理Diplomacy and TileLink from the Rocket Chip这篇文章。 0. 原文链接 https://www.lowrisc.org/docs/diplomacy/ h
阅读全文
摘要:https://mp.weixin.qq.com/s/afRVgTCYs1Mxu898uSmVaQ 整理一篇介绍Diplomacy和TileLink的文章。 原文链接: https://carrv.github.io/2017/papers/cook-diplomacy-carrv2017.pdf
阅读全文
摘要:https://mp.weixin.qq.com/s/xP8JRhkmgUQf0QRm3S2mjA 根据RISC-V规范整理的几个文档。 1. 原文链接 https://riscv.org/specifications/ https://riscv.org/specifications/pri
阅读全文
摘要:https://mp.weixin.qq.com/s/Y42EWrO7IoHRD_yHD4iRLA 介绍配置项、配置值以及他们的使用方式。 参考链接: https://docs.qq.com/sheet/DUUR6ZkpPRFlncXVQ 1. Keys & Params 所有的配置项、配置值整理成
阅读全文
摘要:https://mp.weixin.qq.com/s/OH_Z1gdSUpfgM-tjx0OlrA 追溯配置信息的源头。 0. HasRocketCoreParameters HasRocketCoreParameters中使用从HasTileParameters中继承的implicit Pa
阅读全文
摘要:https://mp.weixin.qq.com/s/z2gUYuYQAHQCa_5HZcBszw 介绍各个配置项的组织方式。 参考链接: https://docs.qq.com/sheet/DUUVQdGp3RHlzVGZm https://docs.qq.com/sheet/DUXZsZWpsb
阅读全文
摘要:https://mp.weixin.qq.com/s/zWW00D0fb8h7_TotGD9YoQ 介绍DefaultConfig类的组成。 1. DefaultConfig DefaultConfig是Config的子类。其定义位于system/Config.scala: 他直接使用Conf
阅读全文
摘要:https://mp.weixin.qq.com/s/uLEr9gAFaMDIXa8S9xJVTw 介绍配置类Parameters及其伴生对象的实现。 参考链接: https://docs.qq.com/sheet/DUUVQdGp3RHlzVGZm 1. Parameters Paramet
阅读全文
摘要:https://mp.weixin.qq.com/s/b5o3s2DgqOz3-iK8FqPeLQ 介绍配置相关的基础类及其继承关系。 参考链接: https://github.com/freechipsproject/rocket-chip/blob/master/src/main/scala/c
阅读全文
摘要:https://mp.weixin.qq.com/s/pMsK_E4mQrm3QXdnp7nDPQ 讨论指令解码部分遗留的几个问题。 1. 最小项与蕴含项之间的关系 参考链接: https://en.wikipedia.org/wiki/Implicant 按其中的描述: An implica
阅读全文
摘要:https://mp.weixin.qq.com/s/4uWqBRrMVG6FlnBKmw8U-w 介绍SimplifyDC如何简化解码逻辑。 1. 使用 简化从mint和maxt中查找的逻辑。 其方法签名如下: 其中: a. minTerms: 使结果为1的蕴含项; b. maxTer
阅读全文
摘要:https://mp.weixin.qq.com/s/CbBWdTlc_DESlUzd8KFcSg 介绍Term类各方法的实现。 1. prime 表示一个项是否是质项,即这个项是否被其他项包含。如项AB包含项ABC。 2. covers this covers x,即项this包含项x
阅读全文
摘要:https://mp.weixin.qq.com/s/YWXYNaRU-DbLOMxpzF2bpQ 介绍Simplify如何简化解码逻辑。 1. 使用 Simplify在DecodeLogic中使用,如下: 简化从t和dc项中查找的逻辑。 其方法签名如下: 其中: a. minTerms
阅读全文
摘要:https://mp.weixin.qq.com/s/XrBh9Kapj01HdvBi5MkbgA 介绍布尔代数最小项与最大项相关概念,以及Term类的实现。 参考链接: https://baike.baidu.com/item/卡诺图 https://en.wikipedia.org/wiki/I
阅读全文
摘要:https://mp.weixin.qq.com/s/0D_NaeBEZX5LBQRdCz2seQ 介绍解码单个信号逻辑的实现。 1. 单个信号 每个指令对应了一组信号,每个信号对应了一个解码逻辑。 如BNE指令对应的信号如下: 各个信号的含义如下: 每个信号都是一个BitPat,位宽不
阅读全文
摘要:https://mp.weixin.qq.com/s/WvepB3yAzjMbQalO3Z82pQ 介绍RocketChip Instruction解码逻辑的实现。 1. RISC-V RocketChip实现了RISCV ISA: 作为RISC-V的官方实现,实现的规范版本比较新,使用的编码
阅读全文
摘要:https://mp.weixin.qq.com/s/j8mt_qvwliKIKtlN6JcyqQ 介绍Intellij IDEA安装Scala插件后,如何在阅读和编码两方面助益开发者。 1. 语言专家 Scala是一门多范式编程语言,在支持面向对象编程的同时,也支持函数式语法。再加上隐式规则和宏等
阅读全文
摘要:https://mp.weixin.qq.com/s/Y75I9e3s4fDPZuv-CyiNDA 介绍软件编程思维与硬件建模思维的不同与相似之处。 1. 软件编程思维 编程,意指编写程序; 程序,即过程的顺序; 软件程序具有天然的串行特性: a. 汇编级别需要等前一条指令执行完成,才能执行下
阅读全文
摘要:https://mp.weixin.qq.com/s/n_4RKlOddr_p2S_wODvFbw 介绍硬件建模的各个层次,以及基于RTL进一步提高层次的方法。 1. 物理版图 直接画出各个物理器件的物理连接图,这个应该是最低的硬件建模层次了。 MOS6502据说就是这么开发的:http://www
阅读全文
摘要:https://mp.weixin.qq.com/s/mTmXXBzSizgiigFYVQXKpw 介绍Chisel与Scala的不同与关联。 一. 层次高低 Chisel是使用Scala语言编写的具体代码。从抽象层次上看,Scala更高。 1. 语言与代码 Chisel是使用Scala语言编
阅读全文

浙公网安备 33010602011771号