CoreCat:画模块电路的好帮手
Drag modules, edit ports, connect wires, and fxxk Visio.
四款开源软件,打造最强墨水屏阅读器
开源什么的最棒了!
为学习而生の魔法传送门
若要足时今足矣、以为未足何时足。
Waline迁移LeanCloud数据库到MongoDB Atlas
前言
在群里看到有人说LeanCloud要停止服务了。登上评论管理界面看了一眼,还真是,好在期限很宽泛,直到明年才结束。好在数据不多,趁早就迁移一下吧。
前置准备
导出备份
进入LeanCloud,在导出界面选择“备份导出”,因其可用于mongorestore直接导入MongoDB数据库。申请后会提示12h内发送下载链接到邮箱,实际上两个小时就收到邮件了,很快。
理论上讲只要下载名字开头不为_的资料,但保险起见都下载一下吧。将压缩包全部放到一个目录下,如C:\Users\0D000721\Downloads\Waline下。
注册 MongoDB Atlas
似乎Vercel内也可以注册MongoDB数据库,但是配置精细度不如自己在MongoDB网站上注册。
访问官网:https://www.mongodb.com/
注册完之后,选择新建一个集群(cluster)。记得一定要选择最右边的Free计划。可以选三个服务商的数据库:AWS、GCP和Azure。经典御三家了。
之后会配置放行的IP。理论上最安全的是将Vercel的IP池放入,但是我也没什么敏感内容,干脆就全放行了。填写0. ...
禁止QQNT自动更新
前言
因为装了BStar插件,仅适配特定版本的QQNT,所以要关闭QQNT的更新。但某一个版本后,自动更新的开关从原本的“不检测更新”改为“不自动安装更新”——也就是说,启动后仍会自动检测并下载更新。好恶心!
解决方案1——写入权限控制
使用火绒的安全分析软件对软件行为进行监控,发现其会下载安装包到安装目录下的versions文件夹内。因此,只需修改该文件夹权限,改为“禁止创建新的文件/文件夹”即可。
右键versions文件夹,选择属性—安全—高级,随后添加一个新的条目,填写如下:
保存并退出,这样就将该文件夹内的权限设置为禁止新建文件了,但原有的文件以及子文件夹内不受影响。
解决方案2——FQDN网络流量过滤(未生效)
搜了一下网络日志,QQNT下载安装包会从dldir1.qq.com下载。只要让它连不上这个域名不就行了?
聪明的你一定想到了修改hosts文件。遗憾的是,傻逼的QQ会自动检测,而一旦检测到存在相应域名的记录,就会自动删去该记录,使其不生效。化腾司马了。
而Windows面板内的防火墙只能设置程序的出入站,无法做到域名级控制,因此需要通过Powershell的动态关 ...
第200篇文章纪念!
我的记性很差。
本来只是想记一点笔记,方便复习的时候看的,不知不觉写了两百篇了。
从一开始的学习相关笔记,到踩坑记录,到技术分享,再到游戏杂谈,还有游记,内容也算是丰富多了。
2023-2026
今后也继续努力吧!
从零开始学RISC:第十三篇
异常:CSR寄存器
为了能运行更多的C程序,并且在出现问题时记录下来,CSR寄存器是必不可缺少的。他也是切换特权模式的重要组件。虽然RISCV规范中已经将CSR从I指令集中移除,但是支持一下还是很重要的。
不多,支持最基础的机器模式相关寄存器即可。
CSR寄存器和通用寄存器堆类似,也是同步写异步读。但它不放在ID级,而是在EX级,因为我们的异常检测主要放在EX级进行。此外,CSR需要立即响应异常。另一方面,将CSR读写放在关键路径较长的EX级,也可以防止拉长其他级的关键路径。
CSR寄存器模块 CSR.sv
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 ...
从零开始学RISC:第十二篇
乘法器
非常简单。
1234567module MUL( input logic [31:0] src1, input logic [31:0] src2, output logic [63:0] out) assign out = src1 * src2;endmodule
结束。
我们肯定不能这样子实现乘法器——即使这种写法能被综合为DSP模块。为什么?因为乘法实在是太太太长了,时间太久。如果将这么一大坨逻辑塞在EX级,时钟频率一定会非常难看。
怎么办?我们将乘法拆分开,在每个时钟周期实现一部分。这样子,可以稍微改善一点时序。
四级流水线乘法器 MUL.sv
首先思考一下:多周期的流水线乘法器会带来哪些额外的时序控制与竞争冒险?
首先是模块要给出信号,来表示自己“是否完成当前运算”以及“是否能接受新的运算”。此外,在执行时,需要将乘法指令用到的寄存器与写回的目标寄存器记住,否则当指令在旁流水线的乘法模块执行时,结果尚未算出,但后面一条指令需要用到结果,这样就必须阻塞流水线。再如,计算后写回时,如果写回的目标寄存器与目前执行完毕的指令写回寄存器一致,则应 ...
从零开始学RISC:第十一篇
存取控制模块:再进化
在 从零开始学RISC:第十篇 中,设计了LoadStoreUnit来处理各类存取指令,但将同一个模块复用了两遍。这样会带来额外的逻辑开销。
最好的办法是将其拆分为两个模块:一个放在MEM级,负责存储;另一个放在WB级,负责读取。
存储控制模块 StoreUnit.sv
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576// StoreUnit模块 - 专门用于MEM级的Store操作// 负责处理SB/SH/SW的字节对齐和写使能生成module StoreUnit ( input logic [ 3:0] sl_type, // 存取类型 input logic [31:0] addr, // 地址(用于计算字节偏移) input logic [31:0] store_dat ...
2025年度回顾
2025年的最后一天,回顾一下这一年吧。
目录
1月
终于考完研了!好好放松一下!岩神启动~
毕设先研究一下吧。当然,玩好才是最重要的!(^_−)☆
和好朋友们过生日、打麻将、鹅鸭杀
光速推完《星之少女与六华的姐妹》。艺术风格不错,奈何剧情实在不太行。
2月
出发去哈尔滨!南方大土豆的雪国之旅。志愿者很不容易啊。
推完《星之终途》,Key的小短篇很精致。
3月
初试顺利通过了!全力冲刺复试。半导体物理好难啊 >_<
推完《近月少女的礼仪》,露娜Sama带我走吧
《闰跃之年》也很有意思,设计独特的跳跳乐。
来吧,高潮一战就在眼前!
4月
考完试了可就要让我休息休息了。
推完《少女理论及其周边》,梅丽尔可爱捏~
推完《月影魅像—解放之羽》,抛开立绘不谈,妹药的作品还是一如既往的对味。
推完《9-nine-》系列,超赞的剧本与系统设计。META元素很有特色,后劲 很 大。妹妹是天!
还和好基友一起打通了《双影奇境》。我玩过的最棒的双人合作游戏。
结果给室友的拯救者清灰时把电脑搞坏了,开不了机 TuT 还好我买了新电脑,可以给他用新的。
毕设自然也没落下,把Klippe ...




