[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-jofrfu--tinyTPU":3,"tool-jofrfu--tinyTPU":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":78,"owner_location":78,"owner_email":79,"owner_twitter":78,"owner_website":80,"owner_url":81,"languages":82,"stars":103,"forks":104,"last_commit_at":105,"license":106,"difficulty_score":107,"env_os":108,"env_gpu":109,"env_ram":110,"env_deps":111,"category_tags":115,"github_topics":116,"view_count":23,"oss_zip_url":78,"oss_zip_packed_at":78,"status":16,"created_at":137,"updated_at":138,"faqs":139,"releases":170},3608,"jofrfu\u002FtinyTPU","tinyTPU","Implementation of a Tensor Processing Unit for embedded systems and the IoT.","tinyTPU 是一款专为嵌入式系统和物联网设备设计的轻量级张量处理单元（TPU）开源实现。它旨在解决在资源受限的硬件上高效部署机器学习模型的难题，让小型设备也能拥有类似谷歌 TPU 的加速能力，同时支持灵活扩展至数据中心等高性能场景。\n\n该项目非常适合嵌入式开发者、FPGA 工程师以及希望在边缘端优化 AI 推理性能的研究人员使用。其核心亮点在于高度可配置的架构：用户可根据具体 FPGA 型号自由调整矩阵乘法单元（MXU）和缓冲区的大小。为了适应嵌入式环境，tinyTPU 采用定点运算替代浮点运算，虽牺牲了部分精度范围，却显著降低了资源消耗。\n\n在技术实现上，tinyTPU 通过脉动阵列架构执行高效的矩阵乘法，并集成了权重缓冲、统一数据缓冲及融合激活函数（如 Sigmoid 和 ReLU）等关键组件。所有操作均通过标准的 AXI 接口与主机系统通信，便于集成。实测数据显示，在 Xilinx Zynq 平台上，其推理速度远超传统 ARM 和 Intel 处理器，为边缘计算提供了一种极具性价比的硬件加速方案。","# tinyTPU\nThe aim of this project is to create a machine learning co-processor with a similar architecture as Google's Tensor Processing Unit. The implementation is resource-friendly and can be used in different sizes to fit every type of FPGA. This allows the deployment of this co-processor in embedded systems and IoT devices, but it can also be scaled up to be used in data centers and high-perfomance machines. The AXI interface allows usage in a variety of combinations. Evaluations were made on the Xilinx Zynq 7020 SoC.\n\n## Quantization\nUnlike the original TPU, this version can only do fixed-point arithmetic. Weights and inputs have to be in the range of -1 to 127\u002F128 or 0 to 255\u002F256.\n\n## Architecture\nThere are 6 main components, which allow the arithmetic:\n- Weight Buffer: BlockRAM, which holds the weights. The buffer can be written from the host-system over the AXI interface.\n- Unified Buffer: BlockRAM, which holds the input\u002Foutput of the net layers. The buffer can be written and read from the host-system over the AXI interface.\n- Systolic Data Setup: A set of Registers, which diagonalizes input data read from the Unified Buffer.\n- Matrix Multiply Unit (MXU or MMU): The heart of the TPU, a 2 dimensional grid of Multiply-Add units, which can do NxN matrix-multiplies. It reads weights from the Weight Buffer and the diagonalized input from the Systolic Data Setup. The result is stored in a set of accumulators.\n- Accumulators: Can accumulate or override the result of the Matrix Multiply Unit to merge splitted up matrix-multiplies.\n- Activation: Fused activation functions to activate the result in the accumulators. Sigmoid and (bounded) ReLU are currently supported. The results are stored in the Unified Buffer.\n\nThe sizes of the components (e.g. size of MXU, buffers, etc.) can be configured seperately.\n\n## Instructions\nThe control units allow the system to execute 10 Byte wide instructions (more info at doc\u002FTPU_ISA.md). Instructions can be transmitted over AXI and are stored in a small fifo-buffer.\n\n## Measurements\nA sample model, trained with the MNIST dataset, was evaluated on different sized MXUs at 177.77 MHz with a theorethical perfomance of up to 72.18 GOPS. Real timing measurements were then compared with traditional processors:\n\n#### Tensor Processing Unit at 177.77 MHz\n\n|Matrix Width N|6|8|10|12|14|\n|:-:|:-:|:-:|:-:|:-:|:-:|\n|Instruction Count|431|326|261|216|186|\n|Duration in us (N input vectors)|383|289|234|194|165|\n|Duration per input vector in us|63|36|23|16|11|\n\n|Processor|Intel Core i5-5287U at 2.9 GHz|BCM2837 4x ARM Cortex-A53 at 1.2 GHz|\n|:-:|:-:|:-:|\n|Duration per input vector in us|62|763|\n\n## Getting Started\nTo get started with tinyTPU, please have a look at getting_started.pdf, where detailed instructions for Xilinx Zynq SoCs and Vivado can be found.\n\n## More Information\nThis project was developed during a bachelor thesis in technical computer science at the HAW Hamburg. If you want to know more about the co-processor, you can have a look at the thesis [here](http:\u002F\u002Fedoc.sub.uni-hamburg.de\u002Fhaw\u002Fvolltexte\u002F2018\u002F4456\u002F) (german).","# tinyTPU\n本项目旨在构建一种与谷歌张量处理单元架构相似的机器学习协处理器。该实现对资源消耗友好，可按不同规模部署以适配各类FPGA。这使得该协处理器既可用于嵌入式系统和物联网设备，也可扩展至数据中心及高性能计算平台。通过AXI接口，它能够以多种方式与其他组件协同工作。我们已在Xilinx Zynq 7020 SoC上进行了评估。\n\n## 量化\n与原始TPU不同，本版本仅支持定点运算。权重和输入数据必须位于-1到127\u002F128或0到255\u002F256的范围内。\n\n## 架构\n系统包含6个主要组件，共同完成算术运算：\n- 权重缓冲区：基于BlockRAM的存储器，用于存放权重。可通过AXI接口由主机系统写入。\n- 统一缓冲区：同样基于BlockRAM的存储器，用于暂存网络各层的输入与输出。可通过AXI接口进行读写操作。\n- 管道化数据准备单元：一组寄存器，负责将从统一缓冲区读取的数据进行对角线排列。\n- 矩阵乘法单元（MXU或MMU）：TPU的核心部件，由二维乘加单元阵列构成，可执行NxN矩阵乘法。它从权重缓冲区读取权重，并从管道化数据准备单元获取对角化后的输入数据，最终结果存储在一组累加器中。\n- 累加器：用于累积或覆盖矩阵乘法单元的结果，以便合并拆分的矩阵乘法运算。\n- 激活函数单元：集成激活函数模块，用于对累加器中的结果进行激活。目前支持Sigmoid和有界ReLU两种激活函数，结果会保存回统一缓冲区。\n\n各组件的大小（如MXU、缓冲区等）均可单独配置。\n\n## 指令集\n控制单元支持执行10字节宽的指令（更多信息请参阅doc\u002FTPU_ISA.md）。指令可通过AXI总线传输，并暂存在一个小型FIFO缓冲区中。\n\n## 测评结果\n我们使用MNIST数据集训练了一个示例模型，在177.77 MHz主频下，针对不同规模的MXU进行了评测，理论峰值性能可达72.18 GOPS。随后，我们将实际运行时间与传统处理器进行了对比：\n\n#### 张量处理单元（177.77 MHz）\n\n| 矩阵宽度 N | 6 | 8 | 10 | 12 | 14 |\n|:-:|:-:|:-:|:-:|:-:|:-:|\n| 指令数量 | 431 | 326 | 261 | 216 | 186 |\n| 总耗时（μs，N个输入向量） | 383 | 289 | 234 | 194 | 165 |\n| 每个输入向量耗时（μs） | 63 | 36 | 23 | 16 | 11 |\n\n| 处理器 | Intel Core i5-5287U，2.9 GHz | BCM2837，四核ARM Cortex-A53，1.2 GHz |\n|:-:|:-:|:-:|\n| 每个输入向量耗时（μs） | 62 | 763 |\n\n## 入门指南\n若想开始使用tinyTPU，请参阅getting_started.pdf文件，其中提供了针对Xilinx Zynq SoC及Vivado工具的详细操作说明。\n\n## 更多信息\n本项目是在汉堡应用科学大学攻读技术计算机科学学士学位期间完成的。如需了解更多关于该协处理器的信息，可查阅相关毕业论文[此处](http:\u002F\u002Fedoc.sub.uni-hamburg.de\u002Fhaw\u002Fvolltexte\u002F2018\u002F4456\u002F)（德语）。","# tinyTPU 快速上手指南\n\ntinyTPU 是一个轻量级的机器学习协处理器 IP 核，架构类似 Google TPU，专为 FPGA（如 Xilinx Zynq）设计。它支持定点运算，适用于嵌入式系统、IoT 设备乃至数据中心场景。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **硬件平台**：Xilinx Zynq-7000 SoC 系列（官方评估基于 Zynq 7020），或其他支持 AXI 接口的 FPGA 开发板。\n*   **开发工具**：Xilinx Vivado（版本需与目标 FPGA 兼容）。\n*   **前置知识**：熟悉 FPGA 开发流程、AXI 总线协议及基本的数字逻辑设计。\n*   **文档依赖**：请下载项目根目录下的 `getting_started.pdf`，其中包含针对 Zynq SoC 和 Vivado 的详细配置说明。\n\n> **注意**：本项目主要作为硬件 IP 核提供，需在 FPGA 工程中实例化，而非通过包管理器直接安装到操作系统。\n\n## 安装步骤\n\ntinyTPU 以 Verilog\u002FVHDL 源码形式提供，需集成至您的 Vivado 工程中。\n\n1.  **克隆仓库**\n    获取项目源代码：\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Fyour-repo\u002FtinyTPU.git\n    cd tinyTPU\n    ```\n\n2.  **创建 Vivado 工程**\n    打开 Vivado，创建新工程并选择与您开发板对应的 Zynq 器件型号。\n\n3.  **添加 IP 源文件**\n    将 tinyTPU 的核心源文件（位于 `src\u002F` 目录）添加到工程的 \"Sources\" 中。关键组件包括：\n    *   `Weight Buffer` (权重缓存)\n    *   `Unified Buffer` (统一输入输出缓存)\n    *   `Matrix Multiply Unit (MXU)` (矩阵乘法单元)\n    *   `Systolic Data Setup` (脉动数据设置)\n    *   `Accumulators` (累加器)\n    *   `Activation` (激活函数模块)\n\n4.  **配置参数**\n    根据您的需求调整各组件大小（如 MXU 的 N×N 维度、Buffer 大小等）。这些参数通常在顶层模块或参数化文件中定义。\n\n5.  **连接 AXI 接口**\n    在 Block Design 中实例化 Zynq Processing System，并通过 AXI Interconnect 将 tinyTPU 的 AXI 接口与 PS 端连接，确保地址映射正确。\n\n6.  **生成比特流**\n    运行综合（Synthesis）、实现（Implementation）并生成比特流（Bitstream）。\n\n## 基本使用\n\ntinyTPU 通过 10 字节宽的指令集进行控制，指令经由 AXI 接口写入内部的 FIFO 缓冲区。\n\n### 1. 数据量化准备\n由于 tinyTPU 仅支持定点运算，使用前必须将模型权重和输入数据量化：\n*   **范围要求**：权重和输入需映射到 `-1` 至 `127\u002F128` 或有符号\u002F无符号的 `0` 至 `255\u002F256` 范围。\n*   **格式**：确保主机端数据格式与 FPGA 端定义的定点格式一致。\n\n### 2. 加载数据\n通过 AXI 接口将量化后的数据写入指定缓冲区：\n*   **权重数据**：写入 `Weight Buffer`。\n*   **输入数据**：写入 `Unified Buffer`。\n\n### 3. 发送指令\n参考 `doc\u002FTPU_ISA.md` 构建指令。以下为一个简化的操作逻辑示例（伪代码\u002FC 语言风格，运行于 Zynq PS 端）：\n\n```c\n\u002F\u002F 假设 base_addr 为 tinyTPU 的 AXI 基地址\n\u002F\u002F 1. 写入权重 (略，通过 DMA 或内存拷贝至 Weight Buffer 映射区域)\n\n\u002F\u002F 2. 写入输入数据 (略，通过 DMA 或内存拷贝至 Unified Buffer 映射区域)\n\n\u002F\u002F 3. 发送执行指令 (10 字节宽)\n\u002F\u002F 指令格式需严格遵循 ISA 定义，此处仅为示意\nuint32_t instruction[3]; \ninstruction[0] = OPCODE_MATRIX_MUL | CONFIG_N_SIZE; \ninstruction[1] = ADDR_WEIGHT_START;\ninstruction[2] = ADDR_INPUT_START;\n\n\u002F\u002F 将指令写入控制寄存器\u002FFIFO\nwrite_axi_register(base_addr + CTRL_REG_OFFSET, instruction);\n\n\u002F\u002F 4. 等待完成并读取结果\n\u002F\u002F 轮询状态寄存器或直接读取 Unified Buffer 中的输出结果\nwhile(!check_completion_status(base_addr));\n\nfloat result = read_unified_buffer(base_addr, OUTPUT_ADDR);\n```\n\n### 4. 性能参考\n在 177.77 MHz 频率下，不同 MXU 宽度（N）的处理耗时参考如下（基于 MNIST 模型）：\n\n| 矩阵宽度 (N) | 单向量耗时 (us) |\n| :---: | :---: |\n| 6 | 63 |\n| 8 | 36 |\n| 10 | 23 |\n| 12 | 16 |\n| 14 | 11 |\n\n对于更复杂的部署细节、指令集详解及时序约束，请务必查阅项目自带的 `getting_started.pdf` 及 `doc\u002FTPU_ISA.md` 文档。","某工业物联网团队正在为基于 Xilinx Zynq 7020 的嵌入式网关开发实时缺陷检测系统，需在本地运行 MNIST 风格的图像分类模型。\n\n### 没有 tinyTPU 时\n- **推理延迟过高**：依赖 ARM Cortex-A53 通用处理器进行矩阵运算，处理单个输入向量耗时高达 763 微秒，无法满足产线毫秒级响应需求。\n- **算力资源瓶颈**：CPU 被繁重的 AI 推理任务占满，导致无法同时处理网络通信、传感器数据采集等其他关键业务逻辑。\n- **功耗与成本失衡**：若强行提升性能需外接高性能 GPU 或升级主控芯片，这将大幅增加硬件成本和边缘设备的功耗预算。\n- **部署灵活性差**：缺乏专用的硬件加速接口，难以在不同规模的 FPGA 设备上灵活调整模型大小以适配资源限制。\n\n### 使用 tinyTPU 后\n- **推理速度飞跃**：利用 tinyTPU 的脉动阵列架构，在 177.77 MHz 主频下将单向量处理时间压缩至 11-63 微秒，相比原方案提速超过 12 倍。\n- **释放主控资源**：通过 AXI 接口将矩阵乘法卸载至 tinyTPU 协处理器，ARM 核心得以解脱，可从容处理多任务并发。\n- **极致能效比**：采用定点数运算和可配置的 BlockRAM 缓冲，在有限的 FPGA 资源内实现了最高 72.18 GOPS 的理论性能，无需额外高功耗组件。\n- **弹性伸缩部署**：开发者可根据具体 FPGA 型号自由调整 MXU 矩阵宽度和缓冲区大小，轻松实现从低功耗节点到高性能边缘服务器的平滑迁移。\n\ntinyTPU 成功将原本只能在云端或高性能主机运行的 TPU 架构引入资源受限的边缘端，让低成本 IoT 设备具备了实时的智能决策能力。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fjofrfu_tinyTPU_edcd4c71.png","jofrfu","Jonas Fuhrmann","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fjofrfu_f0686e9e.jpg",null,"jofrfu@googlemail.com","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fjonas-fuhrmann\u002F","https:\u002F\u002Fgithub.com\u002Fjofrfu",[83,87,91,95,99],{"name":84,"color":85,"percentage":86},"VHDL","#adb2cb",82.9,{"name":88,"color":89,"percentage":90},"C","#555555",10.9,{"name":92,"color":93,"percentage":94},"Python","#3572A5",5.6,{"name":96,"color":97,"percentage":98},"Objective-C","#438eff",0.5,{"name":100,"color":101,"percentage":102},"MATLAB","#e16737",0.1,556,74,"2026-04-03T00:29:01","NOASSERTION",5,"未说明","不需要 GPU。该工具是用于 FPGA（如 Xilinx Zynq 7020 SoC）的硬件加速器设计，依赖 FPGA 开发板而非图形处理器。","未说明（取决于所选 FPGA 型号的片上 BlockRAM 资源及宿主系统内存）",{"notes":112,"python":108,"dependencies":113},"该项目是一个可综合到 FPGA 上的机器学习协处理器硬件设计（类似 TPU 架构），并非纯软件库。运行需要 Xilinx Zynq SoC 等 FPGA 开发板以及 Xilinx Vivado 开发环境。它使用定点算术（权重和输入范围受限），支持通过 AXI 接口与宿主系统通信。性能评估基于 177.77 MHz 时钟频率。",[114],"Xilinx Vivado",[13],[117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136],"fpga","fpga-accelerator","tensorflow","tensor","tpu","vhdl","zynq","xilinx","vivado","assembly","hardware-description-language","hardware-designs","hardware-acceleration","hardware-architectures","verilog","ip-core","embedded-systems","linux","internet-of-things","iot","2026-03-27T02:49:30.150509","2026-04-06T11:30:51.684618",[140,145,150,155,160,165],{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},16531,"编译时找不到 tinyTPU.h 文件怎么办？","该文件是由 Vivado 作为 IP 核板级支持包（BSP）的一部分自动生成的。如果您给核心起的名字与作者不同，则需要重命名该文件。此外，该 .h 文件仅在项目早期阶段的测试中使用。您应该通过全局定义 \"SD\" 宏，并使用 \"sd_main.c\" 作为主文件来运行项目。","https:\u002F\u002Fgithub.com\u002Fjofrfu\u002FtinyTPU\u002Fissues\u002F50",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},16532,"运行 hello world 示例时在 \"synchronizeHappened\" 循环处卡住（Hang）如何解决？","这通常是由于同步信号未正确连接导致的。请检查您的设计，确保同步信号（sync signal）已正确连接到中断请求（IRQ）。另外，如果设计无法满足快速入门指南中提到的 177MHz 时序约束，可以尝试降低频率（例如降至 100MHz）以成功运行。","https:\u002F\u002Fgithub.com\u002Fjofrfu\u002FtinyTPU\u002Fissues\u002F52",{"id":151,"question_zh":152,"answer_zh":153,"source_url":154},16533,"在 Quartus 中综合时报错：无法理解 `std_logic_vector(unsigned(COUNTER_cs) + '1')` 怎么办？","这是因为代码中尝试将一个向量与单个位直接相加，Quartus 编译器无法识别此操作。您需要修改 HDL 代码，确保操作数类型匹配，通常需要将单比特 '1' 转换为与向量相同宽度的无符号数或标准逻辑向量后再进行加法运算。","https:\u002F\u002Fgithub.com\u002Fjofrfu\u002FtinyTPU\u002Fissues\u002F49",{"id":156,"question_zh":157,"answer_zh":158,"source_url":159},16534,"加载权重数据时需要注意什么数据类型问题？","软件在加载权重时必须将其作为有符号值（signed values）进行处理。如果作为无符号值加载，会导致计算结果错误。","https:\u002F\u002Fgithub.com\u002Fjofrfu\u002FtinyTPU\u002Fissues\u002F48",{"id":161,"question_zh":162,"answer_zh":163,"source_url":164},16535,"Zynq 处理器访问内存时遇到地址对齐问题如何解决？","Zynq 处理器只能访问对齐的地址。如果遇到访问错误，需要修改 AXI 接口的设计以支持地址对齐要求，确保传输的数据地址符合处理器的对齐规则。","https:\u002F\u002Fgithub.com\u002Fjofrfu\u002FtinyTPU\u002Fissues\u002F44",{"id":166,"question_zh":167,"answer_zh":168,"source_url":169},16536,"矩阵乘法控制中的累加器寻址有什么特殊要求？","累加过程必须循环遍历同一组累加器。如果发现结果异常，需要检查并修改矩阵乘法控制逻辑中的寻址方式，确保其正确地循环访问指定的累加器集合。","https:\u002F\u002Fgithub.com\u002Fjofrfu\u002FtinyTPU\u002Fissues\u002F46",[]]