微芯片CLB的逆向工程
Reverse Engineering the Microchip CLB

原始链接: http://mcp-clb.markomo.me/

Microchip为新的PIC16F13145微控制器系列添加了一个非常酷的外围设备,称为可配置逻辑块(CLB)。它本质上是一个可以连接到芯片内部的小型FPGA(32个LUT)。然而,他们并没有记录如何自己配置它,只是向您介绍他们的在线配置工具,该工具将作业提交给API,该API放置并路由到LUT。[CLB]接口在寄存器映射中不显示为SFR,用户也不能直接访问;它只能通过支持CLB编程的Microchip MPLAB®集成开发环境(IDE)等编程系统访问。-PIC16F13145数据表所以我决定自己进行逆向工程!分为3个部分:

This Hacker News thread discusses Microchip's CLB (Configurable Logic Block) feature in their microcontrollers. Users are intrigued by the idea of having fast, deterministic digital logic alongside the microcontroller's programmability for tasks that require specific timing or offloading simple logic, especially in low-power or industrial applications. However, there's criticism about Microchip's implementation, specifically the limited 32 LUTs (look-up tables) and the need to use their online configurator, raising concerns about production usability due to its reliance on a remote server. Despite these limitations, users suggest potential uses like handling basic state machines, simple encryption, specialized communication protocols (like SPI), and glue logic replacement, freeing the CPU from polling tasks and saving power. The CLB is seen as a faster and more power-efficient alternative to implementing simple logic gates or state machines in software. While the limited LUT count restricts complex applications, it's considered suitable for offloading simple, timing-critical tasks.
相关文章

原文

Microchip added a very cool peripheral called the Configurable Logic Block (CLB) to there new PIC16F13145 microcontroller family. It’s essentially a small FPGA (32 LUTs) that can connect to the internals of the chip.

However, they don’t document how to configure it yourself, only referring you to their online configurator tool that submits jobs to an API that places and routes to LUTs.

The [CLB] Interface does not appear as an SFR in the Register Map and is not directly user-accessible; it is accessible only through a programming system such as Microchip MPLAB® Integrated Development Environment (IDE) that supports programming the CLB. - PIC16F13145 Datasheet

So I decided to reverse engineer it myself!

Broken into 3 parts:

联系我们 contact @ memedata.com