随笔分类 - IC
摘要:https://mp.weixin.qq.com/s/RrKjWOTPVL9Dkl1YdmvOrQ 简单介绍RegFile的实现。 本文目录: 1. 类参数 2. rf 3. access 4. reads 5. canRead 6. read 7. write 以下正文: 1. 类参数 RegFi
阅读全文
摘要:https://mp.weixin.qq.com/s/GJKVKEOBzT-461XumWJCvg 简单介绍ImmGen的实现。 本文目录: 1. Instruction formats 2. IMM 3. ImmGen 以下正文: 1. Instruction formats RISC-V ISA
阅读全文
摘要:https://mp.weixin.qq.com/s/cw5F3tIEdn5dx64XzCmo7Q 简单介绍smp_processor_id相关的内容。 本文目录: 1. secondary processors开始执行 2. smp_processor_id() 3. current_thread
阅读全文
摘要:https://mp.weixin.qq.com/s/27AS_0EiMKrAENb5w--Lzg 简单介绍Linux kernel中riscv架构相关锁的实现。 本文目录 1. arch_spinlock_t 2. arch_spin_is_locked 3. arch_spin_unlock 4
阅读全文
摘要:https://mp.weixin.qq.com/s/ysF8gxPmxnYgyVpXsBGbaA 简单介绍Linux kernel中riscv架构核间中断ipi相关的内容。 本文目录: 1. send_ipi_single 2. ipi_ops 3. sbi_send_cpumask_ipi 4.
阅读全文
摘要:https://mp.weixin.qq.com/s/pelkvVyz-qDSJp8mgtLHTg 简单介绍Linux kernel中riscv架构cache flush和tlb flush的相关内容。 本文目录: 1. cache flush 2. memory barrier 3. tlb fl
阅读全文
摘要:https://mp.weixin.qq.com/s/VfCIsm22D45noHuMNbrzCg 简单介绍resume_userspace相关的内容。 本文目录 1. _TIF_WORK_MASK 2. work_pending 3. work_notifysig 4. work_resched
阅读全文
摘要:https://mp.weixin.qq.com/s/S-XnHDaAFd_R2Ksi019itg 简单介绍Linux kernel中riscv架构中irq相关的内容。 1. setup_trap_vector 在主初始化流程中,调用了setup_trap_vector初始化中断向量表: setup
阅读全文
摘要:https://mp.weixin.qq.com/s/9lHolIPqRQow33ToIhGLOA 简单介绍arch/riscv/kernel/head.S中的启动流程。 1. vmlinux.lds.S vmlinux.lds.S是用于链接vmlinux的链接脚本文件: 其中: a. 输出的架构是
阅读全文
摘要:https://mp.weixin.qq.com/s/piTE9z9belhxIAkrfzwBzA 简单介绍linux kernel arch/riscv/boot/loader.S相关的内容。 1. loader.S linux kernel arch/riscv/boot/loader.S中的
阅读全文
摘要:https://mp.weixin.qq.com/s/ob6E_Xt5JEE4snV8UUVkDQ 简单介绍build.sbt中的相关定义。 1. 定义引入的内容: 2. 使能插件: 3. 选择使用的chisel3的版本号: 需要注意的是,最新版本中chisel3和firrtl已经不是git sub
阅读全文
摘要:https://mp.weixin.qq.com/s/hxXyWs17StnIXfJAq-MUFQ 简单介绍vsim文件夹中的Makefile/Makefrag/Makefrag-verilog。 1. vsim/Makefile 1) 定义默认规则: 2) 定义相关变量: 其中: a. base_
阅读全文
摘要:https://mp.weixin.qq.com/s/Ypjv95Yidy5Pto6u_00HKQ 简单介绍顶层目录下的Makefrag。 1. 检查RISCV环境变量是否定义: 2. 定义项目相关的变量: 3. 处理config: 其中: a. 定义comma变量; b. 定义space变量;
阅读全文
摘要:https://mp.weixin.qq.com/s/MUK2K1WrhcyoEsOVwpgrlw 简单介绍TestHarness的实现。 1. 测试模块 TestHarness是一个测试模块,直接继承自Module类: 2. io 测试模块向外输出一个测试是否成功的信号: 3. 实例化Exampl
阅读全文
摘要:https://mp.weixin.qq.com/s/U4GAEogQMwo0PIxeU6n8jg 简单介绍ExampleRocketSystem的实现。 1. ExampleRocketSystem ExampleRocketSystem是一个顶层模块的样例,包含一个Rocket子系统,一系列的外
阅读全文
摘要:https://mp.weixin.qq.com/s/2-RzSXcPBf2TbiM3Seqb5Q 简单介绍Configs的实现。 1. WithJtagDTMSystem 使用JTAG调试接口: WithJtagDTM定义如下: 2. WithDebugSBASystem 调试模块中是否包含系统总
阅读全文
摘要:https://mp.weixin.qq.com/s/xbr1Jz8XRbKaPmNzKwNP1g 简单介绍RocketTile的实现。 1. RocketTileParams 定义RocketTile相关的参数: 2. RocketTile 继承自BaseTile,代表Rocket核心模块,引入了
阅读全文
摘要:https://mp.weixin.qq.com/s/H4eepx6Cd2BfTTOPqrF6YA 简单介绍LazyRoCC的实现。这里并不介绍具体实现。 RoCC是指Rocket Custom Coprocessor,即Rocket自定义协处理器。 1. BuildRoCC 用于定义和查找的配置项
阅读全文
摘要:https://mp.weixin.qq.com/s/jH0cJ76WCPuJfWFpijXLhA 简单介绍L1Cache的实现。 1. L1CacheParams 定义L1Cache的参数: 2. HasL1CacheParameters 把HasTileParameters中的参数和L1Cach
阅读全文
摘要:https://mp.weixin.qq.com/s/IlEnkKHwH6AS7vmUkoAN_Q 简单介绍TileInterrupts的实现。 1. TileInterrupts 定义核心相关的中断信号: 其中: a. debug:调试中断信号; b. mtip:时钟中断信号; c. msip:软
阅读全文

浙公网安备 33010602011771号