上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 40 下一页
摘要: https://mp.weixin.qq.com/s/THqyhoLbbuXXAtdQXRQDdA 介绍构建硬件模型的Builder。 1. DynamicContext ​​ 动态上下文,供构建硬件模型时,存放上下文状态信息。 2. Builder ​​ Builder使用DynamicConte 阅读全文
posted @ 2019-01-06 09:50 wjcdx 阅读(477) 评论(0) 推荐(0) 编辑
摘要: https://mp.weixin.qq.com/s/fgCvIFt0RdEajhJVSy125w 介绍模块的输入输出端口的定义与管理。 1. _ports 1) 模块的输入输出端口,在BaseModule中管理: ​​ 2) 添加输入输出端口 使用IO(...)添加: ​​ ​​ 3) 使用 所有 阅读全文
posted @ 2019-01-06 09:49 wjcdx 阅读(471) 评论(0) 推荐(0) 编辑
摘要: https://mp.weixin.qq.com/s/w8NqM3GVlF0NydpsB65KPg 介绍创建模块顺序逻辑的connect命令。 0. 这里先简单对 "=" 和 ":="做一个讨论。 假设 a & b 的结果输出到一个匿名变量,记为anonymousVariable。 a & b的用法 阅读全文
posted @ 2019-01-05 13:57 wjcdx 阅读(351) 评论(0) 推荐(0) 编辑
摘要: https://mp.weixin.qq.com/s/YGTXky4wff7LXUphUxISQg 介绍创建模块判断逻辑的when命令。 1. when/elsewhen/otherwise 伴生对象when中的工厂方法,会创建一个WhenContext: ​​ WhenContext含有方法els 阅读全文
posted @ 2019-01-05 13:56 wjcdx 阅读(991) 评论(0) 推荐(0) 编辑
摘要: https://mp.weixin.qq.com/s/KkkqvekWHG6yrqwHUECRIw 介绍如何定义Wire/Reg/Memory/Prim。 1. DefWire Wire()表明内括的Data的容器为线,用法为: ​​ Wire()定义如下: ​​ a. 获取一个t的克隆x; b. 阅读全文
posted @ 2019-01-05 13:55 wjcdx 阅读(578) 评论(0) 推荐(0) 编辑
摘要: https://mp.weixin.qq.com/s/0ECca6XyFyEri0B4ckOZ4A 介绍UserModule类中,如何管理构建硬件模型所需的命令。 ​​ 1. _commands private val _commands = ArrayBuffer[Command]() _comm 阅读全文
posted @ 2019-01-02 11:35 wjcdx 阅读(336) 评论(0) 推荐(0) 编辑
摘要: https://mp.weixin.qq.com/s/x6j7LZg7i7i_KcNEA8YCQw Chisel作为领域专用语言(DSL),用于构建硬件模型。待硬件模型建立后,再基于模型进行仿真、验证,以及转换。硬件模型可以转换为firrtl,也可以转换为verilog。 接下来介绍Chisel如何 阅读全文
posted @ 2019-01-02 11:34 wjcdx 阅读(620) 评论(0) 推荐(0) 编辑
摘要: https://mp.weixin.qq.com/s/F_08jKFMoX9Gf_J_YpsDpg 两个数据变量进行某个操作(op),产生一个输出,这个输出存在一个匿名变量中。这个匿名变量就是以OpBinding的形式绑定到hardware graph中的。 0. 这里先简单对 "=" 和 ":=" 阅读全文
posted @ 2019-01-01 13:13 wjcdx 阅读(318) 评论(0) 推荐(0) 编辑
摘要: https://mp.weixin.qq.com/s/AxYlRtAXjd55eoGX5l1W-A 模块(Module)从输入端口(input ports)接收输入,经过内部实现的转换逻辑,从输出端口(output ports)输出。 在Chisel3中,模块的输入输出端口,通过IO(new Bun 阅读全文
posted @ 2019-01-01 13:12 wjcdx 阅读(525) 评论(0) 推荐(0) 编辑
摘要: https://mp.weixin.qq.com/s/NaInHsJgOwG03BLNF-wlxQ 介绍Module输入输出端口如何进行绑定。 ​​ 1. IO() 在定义一个模块时,使用Bundle的匿名子类型来定义模块的输入输出端口,然后将其传递给IO()方法。 IO()方法定义在BaseMod 阅读全文
posted @ 2019-01-01 13:11 wjcdx 阅读(351) 评论(0) 推荐(0) 编辑
上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 40 下一页