Luyoung
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
Rust:HashMap

Rust:HashMap

HashMapRust 的 HashMap 是一个基于哈希表的键值对集合,它提供了高效的数据查找、插入和删除操作(平均时间复杂度 O(1))。它是 Rust 标准库 std::collections 的一部分,使用前需要引入。 核心概念 **键值对 (Key-Value Pair)**: 每个元素由一个唯一的 key 和对应的 value 组成。 **所有权 (Ownership)**: 插入时
2025-09-26
编程语言
#Rust 基础
Rust:struct、enum、string、module

Rust:struct、enum、string、module

前言这是第二次学习 Rust,上一次学习到一半就去忙别的事情了,半年过去了,感觉忘得差不多了(不用就会忘)。为了防止再次忘记,这次一边学习一边记录。主要基于 rustlings 来学习。 structstruct 具体包括: Classic Structs(经典结构体) Tuple Structs(元组结构体) Unit-like Structs(类似单元的结构体) Classic Struc
2025-09-24
编程语言
#Rust 基础
浅谈二进制安全(一)

浅谈二进制安全(一)

基于 x64 的 Linux 函数调用过程caller 在 call 以及 call 之前、callee 在 ret 以及 ret之前都会做一些事情,以有序得执行程序。 比如,对于 main 函数调用 add_ints: 123456789NOINLINE long add_ints(long x, long y, long z) { // 触发 RDI, RSI, RDX
2025-09-02
计算机安全
#二进制安全
LA 挑战赛:龙芯杯团体赛总结

LA 挑战赛:龙芯杯团体赛总结

时间线以下时间线根据仓库 commit 来写: 4 月 1 号,开始建立仓库并搭建开发环境 5 月中旬,完成了绝大部分指令,接入 chiplab 6 月初,开始做 cache 6 月中旬,成功通过 rtthread 等测试程序 7 月 1 号,经过不断地 debug,终于在 chiplab 仿真环境中启动 linux 7 月 24 号,成功在fpga 下板启动 linux 7 月 27 号,重构
2025-08-26
体系结构
#龙芯杯
GLCC万众一芯单元验证(四)

GLCC万众一芯单元验证(四)

前言个人感觉学习 Toffee 的话,还是看 Toffee 的 官方文档 比较好。本文将会就我本人的理解,写一点需要重点理解的东西。 异步环境异步是符合真实的硬件运行逻辑的,因为芯片中的电路在每一个时钟周期后,所有的引脚信号都会更新。 1234567891011121314import toffeefrom toffee.triggers import *async my_coro(dut):
2025-08-07
体系结构
#万众一芯
GLCC万众一芯单元验证(三)

GLCC万众一芯单元验证(三)

前言本来应该做收集功能覆盖率,但是感觉难度有点高,还是先做一下 Toffee 的官方的 example,快速熟悉一下。 Adder 模块这个例子是一个加法器,它是一个组合电路: 12345678910111213module Adder #( parameter WIDTH = 64) ( input [WIDTH-1:0] io_a, input [WIDTH-1:0] i
2025-08-06
体系结构
#万众一芯
chplab 打包成 docker 镜像

chplab 打包成 docker 镜像

前言由于 chiplab 在配置的时候需要将工具一一准备好,还有某些库比如随机测试,还需要自己下载。比较麻烦,于是我将一个配置好的环境打包成 docker 镜像,这样可以很方便得就能立即使用。 docker 镜像制作首先在 chiplab 中写一个简单的 Dockerfile: 1234567891011121314151617181920212223242526272829303132FROM
2025-08-06
chiplab > 龙芯杯
#docker #体系结构 #chiplab
GLCC万众一芯单元验证(二)

GLCC万众一芯单元验证(二)

练习0: 冒烟测试这个练习是第二章 的练习,我改成异步的了: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556from SyncFIFO import *import asyncio #创建test_reset_dut 函数作为的测试用
2025-07-27
体系结构
#万众一芯
GLCC万众一芯单元验证(一)

GLCC万众一芯单元验证(一)

问题在官方教程中有这样一个事例: 1234567891011121314151617181920212223242526272829303132333435363738394041# test_with_toffee.pyfrom RandomGenerator import DUTRandomGeneratorimport randomfrom toffee import start_clock
2025-07-25
体系结构
#万众一芯
LA 挑战赛:成功在 FPGA 上启动 linux_kernel

LA 挑战赛:成功在 FPGA 上启动 linux_kernel

前言从 7月1号 到现在在 FPGA 启动 linux_kernel 已经过了 23 天了,虽然中间考试和休息占了 5 天左右,这也说明在 chiplab 中启动 linux_kernel 和在 FPGA 上启动 linux_kernel 有很大的跨度以及很多的工作量。事实上,工作量主要集中在 debug 上,下面细说一下常见的 bug 以及 cacop 的实现细节。 cacop没错,想要使用双
2025-07-24
体系结构
#CPU #FPGA
12345…26

搜索

Hexo Fluid
总访问量 次 总访客数 人