===================
== lxulxu's blog ==
===================
Hello there

Tagged Pointer

c++ eda

Tagged Pointer是一个经典的时间优化技术,通过巧妙利用内存对齐特性,在零额外内存开销下避免堆分配。

基础原理

为了防止未对齐访问,编译器会插入填充0以根据类型的对齐要求对齐值,分配内存对齐到8字节(在64位系统上是16字节),指针地址以000结尾 。可以利用这些未使用的低位来指示这不是真实指针,然后将对象数据直接存储在这个"非指针"的剩余部分中,而不是单独的内存分配。

1Top                       		Bottom
2▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮000 
3                             					^^^
4                             				可用于存储标记

简单实现:存储小整数

以一个能将小整数直接编码进指针的系统为例:

 1#include <stdint.h>
 2#include <stdbool.h>
 3
 4// 标记位定义
 5#define TAG_MASK    0x7      // 低3位掩码: …
Read more...

生成追剧日历

教程

通过 TV Time 订阅追踪的剧集,自动将更新时间同步到日历应用,支持欧美剧集及部分国产剧,效果如下:

导入日历步骤

获取用户 ID

  1. 登录 TV Time 网页版或应用
  2. 进入个人主页
  3. 从网页地址栏或个人资料页面获取用户 ID(一串数字)

构建订阅链接

订阅链接格式:

1webcal://api.tvtime.com/v1/user/你的UserID/calendar.ics

示例:

1webcal://api.tvtime.com/v1/user/12345678/calendar.ics

订阅日历

  • 如何订阅日历

    方式一:系统日历应用

    1. 打开手机自带的日历应用
    2. 找到日历订阅链接功能入口(通常在设置或导入选项中)
    3. 输入订阅链接并确认

    注: 不同品牌手机的日历功能存在差异。如果手机不支持直接订阅链接,可以先添加 Google 账号,然后通过账号同步日历(参见方式二)。

    方式二:Google 日历

    1. 打开 Google 日历网页版(移动端暂不支持此功能)
    2. 点击左侧边栏"其他日历"旁的 + 图标
    3. 选择"通过网址 …

Y2026Q1 影视音总结

生活

🎬MOVIES

🎭Dramas

Y2025Q4 影视音总结

生活

🎬MOVIES

Y2025Q3 影视音总结

生活

🎬MOVIES

Y2025Q2 影视音总结

生活

🎬MOVIES

FPGA设计流程与EDA工具架构解析——以Vivado为例

eda Xilinx

FPGA设计流程概览

FPGA设计遵循一个由上至下的流程,主要包括以下阶段:

  1. 功能设计/RTL:使用HDL(Verilog/VHDL)编写代码,进行功能仿真验证
  2. 逻辑综合:RTL转换为门级网表,进行逻辑优化
  3. 物理设计:包括布局(确定各单元具体位置)和布线(实现单元间互连)
  4. 物理验证:设计规则检查、时序分析、功耗评估
  5. 比特流生成:生成FPGA配置文件
  6. 硬件配置与调试:将设计烧录到FPGA并进行系统测试

一个典型的Vivado项目管理tcl脚本示例:

 1# 创建并配置项目
 2create_project myproject ./myproject -part xc7a100tcsg324-1
 3
 4# 添加设计文件
 5add_files -fileset sources_1 ./src/design/
 6add_files -fileset constrs_1 ./src/constraints/
 7
 8# 设置顶层模块
 9set_property top top_module [current_fileset]
10
11# 创建综合运行
12create_run …
Read more...

Y2025Q1 影视音总结

生活

🎬MOVIES

DFX中的关键概念与规则

xilinx DFX

1. 基础概念与术语

1.1 动态重配置的定义

​ Dynamic Function eXchange(DFX,也称为动态部分重配置)是一种在FPGA运行时动态修改其部分功能区域的技术。DFX可以在FPGA继续运行时,让用户更改芯片预定义区域的功能,而不影响其他区域的正常运行。相比传统的全局配置方式,DFX具有以下优势:

  • 节省硬件成本:可以通过时分复用的方式在同一个区域切换不同功能
  • 支持实时更新:无需停止系统运行即可更新部分功能
  • 提升系统灵活性:可以根据需要动态调整功能
  • 减少配置时间:部分配置比完整配置速度更快

​ FPGA 设计中的逻辑分为两种不同类型:可重配置逻辑和静态逻辑。静态逻辑在运行期间保持正常工作,不受加载部分比特流的影响。可重配置逻辑则会被部分比特流的内容替换。

DFX Basic Concept

​ 如上图所示,通过下载任一部分比特流文件(A1.bit、A2.bit、A3.bit 或A4.bit)即可修改重配置块 A 中实现的功能。标记为"FPGA"的区域表示静态逻辑,标记为"重配置块 A"的区域表示可重配置逻辑。

1.2 核心术语解析 …

Read more...

Y2024Q4 影视音总结

生活

🎬MOVIES

1 of 3 Next Page