Eureka on PIC CLB

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Eureka on PIC CLB

173 Views
androzz
Contributor I

Certain PIC MCUs (e.g., pic16f13145 family) have FPGA-like programmable logic called Configurable Logic Block.

The pic16f13115 I'm using has 32 cells each with a 4-input lookup table and a D flip-flop.

To learn to use the tools, today I implemented and simulated support for Charlieplexing of 6 LEDs with PWM brightness control. I used Verilog to define the circuit instead of using the logic CAD canvas.

I was pounding my head on the wall for about half my time. Slowly, I got the Verilog right, got it to synthesize (build), then got it simulating.

It is cool that the CLB programmed logic works even when the CPU is sleeping. It's perfect for safety-critical applications. Can be used, for example, to implement complex interrupt trigger logic. There is great flexibility in hooking up CLB logic to peripheral inputs and outputs. It's much more flexible than the clunkier CLC programmable logic that's been a fixture of PICs.

Labels (1)
0 Kudos
Reply
1 Reply

126 Views
luis_maravilla
NXP Employee
NXP Employee

Hello,

It appears that the device in question belong to a different manufacturer.

Could you help us contacting your manufacturer, please

If you are interested in changing to an NXP device with a Programmable Logic Unit you can consult the LPC804

The LPC804 Programmable Logic Unit (PLU)

 

Best Regards

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2414325%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EEureka%20on%20PIC%20CLB%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2414325%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3ECertain%20PIC%20MCUs%20(e.g.%2C%20pic16f13145%20family)%20have%20FPGA-like%20programmable%20logic%20called%20Configurable%20Logic%20Block.%3C%2FP%3E%3CP%3EThe%20pic16f13115%20I'm%20using%20has%2032%20cells%20each%20with%20a%204-input%20lookup%20table%20and%20a%20D%20flip-flop.%3C%2FP%3E%3CP%3ETo%20learn%20to%20use%20the%20tools%2C%20today%20I%20implemented%20and%20simulated%20support%20for%20Charlieplexing%20of%206%20LEDs%20with%20PWM%20brightness%20control.%20I%20used%20Verilog%20to%20define%20the%20circuit%20instead%20of%20using%20the%20logic%20CAD%20canvas.%3C%2FP%3E%3CP%3EI%20was%20pounding%20my%20head%20on%20the%20wall%20for%20about%20half%20my%20time.%20Slowly%2C%20I%20got%20the%20Verilog%20right%2C%20got%20it%20to%20synthesize%20(build)%2C%20then%20got%20it%20simulating.%3C%2FP%3E%3CP%3EIt%20is%20cool%20that%20the%20CLB%20programmed%20logic%20works%20even%20when%20the%20CPU%20is%20sleeping.%20It's%20perfect%20for%20safety-critical%20applications.%20Can%20be%20used%2C%20for%20example%2C%20to%20implement%20complex%20interrupt%20trigger%20logic.%20There%20is%20great%20flexibility%20in%20hooking%20up%20CLB%20logic%20to%20peripheral%20inputs%20and%20outputs.%20It's%20much%20more%20flexible%20than%20the%20clunkier%20CLC%20programmable%20logic%20that's%20been%20a%20fixture%20of%20PICs.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2414325%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3EGeneral%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2414478%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Eureka%20on%20PIC%20CLB%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2414478%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EThat%E2%80%99s%20a%20really%20interesting%20use%20of%20the%20PIC16F13115%E2%80%99s%20CLB!%20Using%20Verilog%20for%20a%206-LED%20Charlieplexing%20setup%20with%20PWM%20sounds%20like%20a%20great%20way%20to%20learn%20the%20workflow%2C%20and%20having%20the%20logic%20continue%20operating%20while%20the%20CPU%20sleeps%20opens%20up%20some%20impressive%20possibilities%20for%20low-power%20and%20safety-critical%20designs.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2414390%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Eureka%20on%20PIC%20CLB%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2414390%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%2C%3C%2FP%3E%0A%3CP%3EIt%20appears%20that%20the%20device%20in%20question%20belong%20to%20a%20different%20manufacturer.%3C%2FP%3E%0A%3CP%3ECould%20you%20help%20us%20contacting%20your%20manufacturer%2C%20please%3C%2FP%3E%0A%3CP%3EIf%20you%20are%20interested%20in%20changing%20to%20an%20NXP%20device%20with%20a%20Programmable%20Logic%20Unit%20you%20can%20consult%20the%20LPC804%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2FLPC-Microcontrollers-Knowledge%2FThe-LPC804-Programmable-Logic-Unit-PLU%2Fta-p%2F1117662%22%20target%3D%22_blank%22%3EThe%20LPC804%20Programmable%20Logic%20Unit%20(PLU)%3C%2FA%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EBest%20Regards%3C%2FP%3E%3C%2FLINGO-BODY%3E