×

架构

操作系统MIT6.S081:[xv6参考手册第4章]->Trap与系统调用

修无生 修无生 发表于2024-05-19 浏览3353 评论0
本系列文章为MIT6.S081的学习笔记,包含了参考手册、课程、实验三部分的内容,前面的系列文章链接如下操作系统MIT6.S081:[xv6参考手册第1章]->操作系统接口操作系统MIT6.S081:P1->Introduction and examples操作系统MIT6.S081:Lab1->Unix utilities操作系统MIT6.S081:[xv6参考手册第2章]->操作系统组织结构操作系统MIT6.S081:P2->OS organization and system calls操

架构

操作系统MIT6.S081:Lab4->Trap

HYH HYH 发表于2024-05-17 浏览5094 评论0
本系列文章为MIT6.S081的学习笔记,包含了参考手册、课程、实验三部分的内容,前面的系列文章链接如下操作系统MIT6.S081:[xv6参考手册第1章]->操作系统接口操作系统MIT6.S081:P1->Introduction and examples操作系统MIT6.S081:Lab1->Unix utilities操作系统MIT6.S081:[xv6参考手册第2章]->操作系统组织结构操作系统MIT6.S081:P2->OS organization and system calls操

scala

Chisel教程——07.详解ChiselTest

欢乐多多 欢乐多多 发表于2024-05-16 浏览6087 评论0
详解ChiselTest 动机 Chisel团队给测试框架做了很多工作,ChiselTest提供了以下改进: 既可以进行单元测试也可以进行系统集成测试; 为可组合的抽象和分层设计; 高度可用,通过让单元测试更简单、更无痛(避免样板(boilerplate)和其他没意义的事情)和更有用来鼓励单元测试; 还有以下计划: 具备面向多种后端和模拟器的能力(如果测试向量不是静态的,或者使用有限的测试构建API子集,则可能需要在综合时链接到Scala); 将会包含在基础的Chisel3中

scala

Chisel教程——02.Chisel环境配置和第一个Chisel模块的实现与测试(chisel教程汇总)

?₂₀₀₁₁₁₀₁ ?₂₀₀₁₁₁₀₁ 发表于2024-05-16 浏览6759 评论0
Chisel环境配置和第一个Chisel模块的实现与测试 动机 现在已经对Scala有一定的了解了,可以开始构造一些硬件了。Chisel的全称为Constructing Hardware In a Scala Embedded Language,是一个基于Scala的DSL(Domain Specific Language,特定领域专用语言),因此可以在同一串代码内兼得Scala和Chisel编程的优点。 理解哪些代码是Scala哪些又是Chisel这点很重要,不过后面再谈。 现在开

scala

Chisel教程——10.Chisel标准库中的中间件整理(接口和函数)

忽然一转身 忽然一转身 发表于2024-05-15 浏览3776 评论0
Chisel标准库中的中间件整理(接口和函数) 动机 Chisel很重要的特性就是复用,所以提供一个标准库很有意义。Chisel的标准库中有针对常用硬件模块的接口库(鼓励和RTL之间的互通性)和生成器库,非常好用。 Chisel Cheatsheet 在Chisel教程——03.Chisel中的组合逻辑(结尾附上Chisel3 Cheat Sheet)_github-3rr0r的博客-CSDN博客_chisel教程一文中,我给出了Chisel的Cheatsheet,里面概括了全部主

scala

【从嵌入式视角学习香山处理器】四、Chisel语言基础

小海 小海 发表于2024-05-14 浏览5021 评论0
一、前言 这是记录学习chisel官方文档的笔记。原文档pdf下载链接在这里:http://www.imm.dtu.dk/~masca/chisel-book-chinese.pdf 写这篇文章找到了另一篇官方的中文简介文章,可作为学习阶段反复阅读复习用的材料。 (下载链接:http://www.aiotek.pro/aiotek/doclib/chisel/chisel-getting-started-chinese.pdf) 二、Linux上对scala工程的操作 1

scala

Chisel教程——05.Chisel中的时序逻辑(包含显式多时钟、显式同步复位和显式异步复位)

高乐 高乐 发表于2024-05-14 浏览5369 评论0
时序逻辑 动机 我们是不可能写出一个不包含状态的有意义的数字逻辑电路的! 我们是不可能写出一个不包含状态的有意义的数字逻辑电路的! 我们是不可能写出一个不包含状态的有意义的数字逻辑电路的! 重要的话说三遍! 因为不存储中间结果就几乎啥也干不了。 这一节会描述如何用Chisel表达一般的时序逻辑,到了本节的最后,你应该就具备用Chisel实现并测试一个移位寄存器的能力了。 需要强调的是本节可能不会太震撼,因为Chisel的强大并不体现在时序逻辑模式,而是在设计的参数化上。之前已

scala

Chisel教程——14.(完结篇)Scala和Chisel中的数据类型(chisel scala)

加载失败…… 加载失败…… 发表于2024-05-14 浏览5264 评论0
(完结篇)Scala和Chisel中的数据类型 完结篇开头的碎碎念 这是这个系列的最后一篇文章了,官方的Chisel-Bootcamp中后面还有FIRRTL相关的内容,但设计一个RISC-V CPU这样的目标,靠本系列文章讲述的内容已经足够了。由于这个系列的学习偏向于在实战中学习,所以难免有很多遗漏的地方。因此,后续还会更新一个系列,力争对Chisel语言进行全面详实的讲解。 另外,除了Chisel语言的基础学习,还会像之前承诺的那样,针对RISC-V体系结构的实现做一个系列。该系列将

scala

Chisel教程——03.Chisel中的组合逻辑(结尾附上Chisel3 Cheat Sheet)

asdas asdas 发表于2024-05-14 浏览5676 评论0
Chisel组合逻辑 这一节将会介绍如何使用Chisel组件来实现组合逻辑。 本节将会演示三种基本的Chisel类型(UInt,无符号整数;SInt,有符号整数;Bool,布尔值)可以如何连接和操作。 需要注意的是所有的Chisel变量都声明为Scala的val,绝对不要用Scala中的var来实现硬件构造,因为构造本身在定义后就不会变化了,只有它的值可以在硬件上运行时变化。连线可以用于参数化的类型。 常见运算符 加法实现 首先构造一个Module,这个就不详细介绍了: im