CPLD-Guide
Complex Programmable Logic Device (CPLD) Guide
https://github.com/mikeroyal/CPLD-Guide
Last synced: 15 days ago
JSON representation
-
Assembly Learning Resources
- Assembly - level programming language. It uses mnemonic codes and labels to represent machine-level code with each instruction corresponding to just one machine operation.
- RISC-V Foundation - profit corporation controlled by its 500 members(NVIDIA, Google, Samsung, Raspberry Pi, SiFive, Canonical, and Western Digital) to drive forward the adoption and implementation of the free and open RISC-V instruction set architecture (ISA).
- Intel® 64 and IA-32 Architectures Software Developer’s Manual
- x86 Assembly Language Reference Manual for Open Solaris
- AMD64 Architecture Programmer’s Manual Volume 1-5
- AMD Developer Guides, Manuals, and ISA Documents
- Assembler language from IBM
- The Assembler language on z/OS from IBM
- MIPS Architecture & Technology from Wave Computing
- Assemblies in .NET
- Microsoft Macro Assembler reference
- Compiler Intrinsics and Assembly Language from Microsoft
- x86 and amd64 instruction Reference
- Intro to x86 Assembly Language Programming
- Learn Assembly Programming courses on Udemy
- Intro to Assembly Language from MIT
- AMD GPU ISA documentation
- Assembler language from IBM
- The Assembler language on z/OS from IBM
-
C/C++ Learning Resources
- C - purpose, high-level language that was originally developed by Dennis M. Ritchie to develop the UNIX operating system at Bell Labs. It supports structured programming, lexical variable scope, and recursion, with a static type system. C also provides constructs that map efficiently to typical machine instructions, which makes it one was of the most widely used programming languages today.
- Embedded C - committee) to address issues that exist between C extensions for different [embedded systems](https://en.wikipedia.org/wiki/Embedded_system). The extensions hep enhance microprocessor features such as fixed-point arithmetic, multiple distinct memory banks, and basic I/O operations. This makes Embedded C the most popular embedded software language in the world.
- C & C++ Developer Tools from JetBrains
- Open source C++ libraries on cppreference.com
- C++ Graphics libraries
- C++ Libraries in MATLAB
- Google C++ Style Guide
- Introduction C++ Education course on Google Developers
- C++ style guide for Fuchsia
- Chromium C++ Style Guide
- C++ Core Guidelines
- C++ Style Guide for ROS
- Learn C++
- Learn C : An Interactive C Tutorial
- C++ Online Training Courses on LinkedIn Learning
- C++ Tutorials on W3Schools
- Learn C Programming Online Courses on edX
- Learn C++ with Online Courses on edX
- Learn C++ on Codecademy
- Coding for Everyone: C and C++ course on Coursera
- C++ For C Programmers on Coursera
- C++ Online Courses on Udemy
- Top C Courses on Udemy
- Basics of Embedded C Programming for Beginners on Udemy
- C++ For Programmers Course on Udacity
- C++ Fundamentals Course on Pluralsight
- C++ - platform language that can be used to build high-performance applications developed by Bjarne Stroustrup, as an extension to the C language.
- C++ Tools and Libraries Articles
- C++ Style Guide for ROS
-
C/C++ Tools, Libraries and Frameworks
- AWS SDK for C++
- Visual Studio - rich application that can be used for many aspects of software development. Visual Studio makes it easy to edit, debug, build, and publish your app. By using Microsoft software development platforms such as Windows API, Windows Forms, Windows Presentation Foundation, and Windows Store.
- Visual Studio Code
- ReSharper C++
- AppCode - fixes to resolve them automatically. AppCode provides lots of code inspections for Objective-C, Swift, C/C++, and a number of code inspections for other supported languages. All code inspections are run on the fly.
- CLion - platform IDE for C and C++ developers developed by JetBrains.
- Code::Blocks
- Conan
- High Performance Computing (HPC) SDK
- Boost - edge C++. Boost has been a participant in the annual Google Summer of Code since 2007, in which students develop their skills by working on Boost Library development.
- Automake
- Cmake - source, cross-platform family of tools designed to build, test and package software. CMake is used to control the software compilation process using simple platform and compiler independent configuration files, and generate native makefiles and workspaces that can be used in the compiler environment of your choice.
- GDB
- GCC - C, Fortran, Ada, Go, and D, as well as libraries for these languages.
- GSL - squares fitting. There are over 1000 functions in total with an extensive test suite.
- OpenGL Extension Wrangler Library (GLEW) - platform open-source C/C++ extension loading library. GLEW provides efficient run-time mechanisms for determining which OpenGL extensions are supported on the target platform.
- Libtool
- Maven
- TAU (Tuning And Analysis Utilities) - based sampling. All C++ language features are supported including templates and namespaces.
- Clang - C, C++ and Objective-C++ compiler when targeting X86-32, X86-64, and ARM (other targets may have caveats, but are usually easy to fix). Clang is used in production to build performance-critical software like Google Chrome or Firefox.
- OpenCV - time applications. Cross-Platform C++, Python and Java interfaces support Linux, MacOS, Windows, iOS, and Android.
- ANTLR (ANother Tool for Language Recognition)
- Oat++ - efficient web application. It's zero-dependency and easy-portable.
- Cython
- Infer - C, and C. Infer is written in [OCaml](https://ocaml.org/).
- sparkfun
- andrewpover.co.uk
- vecteezy
- differencebetween
- electrical4u
- differencebetween
- Azure SDK for C++
- Azure SDK for C
- C++ Client Libraries for Google Cloud Services
- Vcpkg
- CppSharp
- Thrust - level interface greatly enhances programmer productivity while enabling performance portability between GPUs and multicore CPUs. Interoperability with established technologies such as CUDA, TBB, and OpenMP integrates with existing software.
- JavaCPP
- Spdlog - only/compiled, C++ logging library.
- sdsu-physics
- sdsu-physics
- sdsu-physics
-
Firmware Learning Resources
- Firmware - level software.
- Online Embedded Systems Courses | Harvard University
- Internet of Things Graduate Program | Stanford Online
- Embedded Systems Certificate | UCSC Silicon Valley Extension
- Embedded Systems Technology (EET) | ODU Online
- Learn Embedded Systems with Online Courses and Classes | edX
- Top Embedded Systems Courses Online | Udemy
- Top Embedded C Courses Online | Coursera
- Embedded Systems | Udacity Free Courses
- Embedded Linux Online Course - Arm®
- Software Development Online Courses | Coursera
- Top Software Engineering Courses | Coursera
- Learn Software Development with Online Courses and Lessons | edX
- Embedded Systems | Udacity Free Courses
-
Firmware Tools, Libraries, and Frameworks
- Coreboot
- TianoCore - rich, cross-platform firmware development environment for the UEFI and UEFI Platform Initialization (PI) specifications.
- EDK II - rich, cross-platform firmware development environment for the UEFI and PI specifications .
- OpenWrt Project
- Linux Vendor Firmware Service(LVFS)
- CHIPSEC
- Secure boot
- Trusted Platform Module (TPM - based, security-related functions. A TPM chip is a secure crypto-processor that is designed to carry out cryptographic operations.
- Intel® oneAPI Base Toolkit - driven, data-centric applications across CPUs, GPUs, and FPGAs. For more specialized workloads, use the Base Kit with one or more add-on toolkits.
- Intel® oneAPI HPC Toolkit
- Intel® oneAPI IoT Toolkit - performing, efficient, reliable solutions that run at the network’s edge.
- Intel® oneAPI Rendering Toolkit - Fidelity Rendering and Visualization Applications with Powerful Libraries.
- Intel® Distribution of OpenVINO™ Toolkit
- Mellanox firmware update and query utility
- Mellanox FlexBoot - iSCSI). Combined with Virtual Protocol Interconnect (VPI) technologies available in ConnectX®-3 and onwards adapters, FlexBoot gives IT Managers the flexibility to deploy servers with one adapter card into InfiniBand or Ethernet networks with the ability to boot from LAN or remote storage targets.
- OpenSK - source implementation for security keys written in Rust that supports both FIDO U2F and [FIDO2](https://fidoalliance.org/fido2/) standards.
- fwupd
- System76 Firmware - line inferface) tool for installing firmware updates. Also, included is the system76-firmware-daemon package, which has a systemd service that exposes a DBUS API for handling firmware updates.
- Firmware Manager - firmware](https://github.com/pop-os/system76-firmware) and [fwupd](https://github.com/fwupd/fwupd), written in Rust.
- Heimdall - platform open-source tool suite used to flash firmware (aka ROMs) onto Samsung mobile devices.
- Nexmon - based firmware patching framework for Broadcom/Cypress WiFi chips that enables you to write your own firmware patches, for example, to enable monitor mode with radiotap headers and frame injection.
- Firmware Analysis Toolkit - store.com/collections/training/products/offensive-iot-exploitation) training conducted by [Attify](https://attify.com/).
- Firmware Analysis and Comparison Tool
- QMK Toolbox - detection and auto-flashing of firmware to keyboards.
- QMK(Quantum Mechanical Keyboard) Firmware - source keyboard firmware for Atmel AVR and [Arm](https://www.arm.com/) USB controllers, and more specifically, the [OLKB product line](https://olkb.com/), the [ErgoDox EZ keyboard](https://ergodox-ez.com/), and the [Clueboard product line](https://clueboard.co/).
- TMK Keyboard Firmware - M.
- Mellanox firmware update and query utility
- Intel® oneAPI Rendering Toolkit - Fidelity Rendering and Visualization Applications with Powerful Libraries.
- Mellanox FlexBoot - iSCSI). Combined with Virtual Protocol Interconnect (VPI) technologies available in ConnectX®-3 and onwards adapters, FlexBoot gives IT Managers the flexibility to deploy servers with one adapter card into InfiniBand or Ethernet networks with the ability to boot from LAN or remote storage targets.
- Intel® AI Analytics Toolkit - to-end performance for AI workloads.
- Linux Vendor Firmware Service(LVFS)
- Intel® oneAPI IoT Toolkit - performing, efficient, reliable solutions that run at the network’s edge.
- Intel® oneAPI Base Toolkit - driven, data-centric applications across CPUs, GPUs, and FPGAs. For more specialized workloads, use the Base Kit with one or more add-on toolkits.
- Intel® oneAPI HPC Toolkit
-
MATLAB Learning Resources
- MATLAB
- MATLAB Documentation
- Getting Started with MATLAB
- Apache Spark Basics | MATLAB & Simulink
- MATLAB Hadoop and Spark | MATLAB & Simulink
- MATLAB Online Courses from Udemy
- MATLAB Online Courses from Coursera
- MATLAB Online Courses from edX
- Building a MATLAB GUI
- MATLAB Style Guidelines 2.0
- Setting Up Git Source Control with MATLAB & Simulink
- Pull, Push and Fetch Files with Git with MATLAB & Simulink
- Create New Repository with MATLAB & Simulink
- PRMLT
- MathWorks Certification Program
- PRMLT
-
MATLAB Tools, Libraries, Frameworks
- MATLAB and Simulink Services & Applications List
- MATLAB in the Cloud - cloud) including [AWS](https://aws.amazon.com/) and [Azure](https://azure.microsoft.com/).
- Simulink - Based Design. It supports simulation, automatic code generation, and continuous testing of embedded systems.
- Simulink Online™
- MATLAB Drive™
- Parallel Computing Toolbox™ - intensive problems using multicore processors, GPUs, and computer clusters. High-level constructs such as parallel for-loops, special array types, and parallelized numerical algorithms enable you to parallelize MATLAB® applications without CUDA or MPI programming. The toolbox lets you use parallel-enabled functions in MATLAB and other toolboxes. You can use the toolbox with Simulink® to run multiple simulations of a model in parallel. Programs and models can run in both interactive and batch modes.
- Image Processing Toolbox™ - standard algorithms and workflow apps for image processing, analysis, visualization, and algorithm development. You can perform image segmentation, image enhancement, noise reduction, geometric transformations, image registration, and 3D image processing.
- Computer Vision Toolbox™
- Statistics and Machine Learning Toolbox™
- Lidar Toolbox™ - camera cross calibration for workflows that combine computer vision and lidar processing.
- Mapping Toolbox™
- UAV Toolbox
- Partial Differential Equation Toolbox™
- ROS Toolbox
- Robotics Toolbox™ - holonomic vehicle. The Toolbox also including a detailed Simulink model for a quadrotor flying robot.
- Deep Learning Toolbox™ - term memory (LSTM) networks to perform classification and regression on image, time-series, and text data. You can build network architectures such as generative adversarial networks (GANs) and Siamese networks using automatic differentiation, custom training loops, and shared weights. With the Deep Network Designer app, you can design, analyze, and train networks graphically. It can exchange models with TensorFlow™ and PyTorch through the ONNX format and import models from TensorFlow-Keras and Caffe. The toolbox supports transfer learning with DarkNet-53, ResNet-50, NASNet, SqueezeNet and many other pretrained models.
- Reinforcement Learning Toolbox™ - making algorithms for complex applications such as resource allocation, robotics, and autonomous systems.
- Deep Learning HDL Toolbox™ - built bitstreams for running a variety of deep learning networks on supported Xilinx® and Intel® FPGA and SoC devices. Profiling and estimation tools let you customize a deep learning network by exploring design, performance, and resource utilization tradeoffs.
- Model Predictive Control Toolbox™ - loop simulations, you can evaluate controller performance.
- Vision HDL Toolbox™ - streaming algorithms for the design and implementation of vision systems on FPGAs and ASICs. It provides a design framework that supports a diverse set of interface types, frame sizes, and frame rates. The image processing, video, and computer vision algorithms in the toolbox use an architecture appropriate for HDL implementations.
- SoC Blockset™
- Wireless HDL Toolbox™ - verified, hardware-ready Simulink® blocks and subsystems for developing 5G, LTE, and custom OFDM-based wireless communication applications. It includes reference applications, IP blocks, and gateways between frame and sample-based processing.
- ThingSpeak™ - of-concept IoT systems that require analytics.
- hctsa - series analysis using Matlab.
- YALMIP
- hctsa - series analysis using Matlab.
- MATLAB Schemer
- LRSLibrary - Rank and Sparse Tools for Background Modeling and Subtraction in Videos. The library was designed for moving object detection in videos, but it can be also used for other computer vision and machine learning problems.
- SEA-MAT
- Gramm - level interface to produce publication-quality plots of complex data with varied statistical visualizations. Gramm is inspired by R's ggplot2 library.
- Image Processing Toolbox™ - standard algorithms and workflow apps for image processing, analysis, visualization, and algorithm development. You can perform image segmentation, image enhancement, noise reduction, geometric transformations, image registration, and 3D image processing.
- GNU Octave - level interpreted language, primarily intended for numerical computations. It provides capabilities for the numerical solution of linear and nonlinear problems, and for performing other numerical experiments. It also provides extensive graphics capabilities for data visualization and manipulation.
-
OpenCL Learning Resources
- Open Computing Language (OpenCL) - to-parallel-computing-zNrIS) of heterogeneous platforms consisting of CPUs, GPUs, and other hardware accelerators found in supercomputers, cloud servers, personal computers, mobile devices and embedded platforms.
- OpenCL | GitHub
- Khronos Technology Courses and Training
- OpenCL Tutorials - StreamHPC
- Introduction to Intel® OpenCL Tools
- OpenCL | NVIDIA Developer
- Introduction to OpenCL on FPGAs Course | Coursera
- Compiling OpenCL Kernel to FPGAs Course | Coursera
- Introduction to Intel® OpenCL Tools
- OpenCL Tutorials - StreamHPC
- Introduction to Intel® OpenCL Tools
- Khronos Group | GitHub
-
OpenCL Tools, Libraries and Frameworks
Categories
OpenCL Tools, Libraries and Frameworks
62
C/C++ Tools, Libraries and Frameworks
42
Firmware Tools, Libraries, and Frameworks
34
MATLAB Tools, Libraries, Frameworks
32
C/C++ Learning Resources
29
Assembly Learning Resources
19
MATLAB Learning Resources
16
Firmware Learning Resources
14
Verilog/SystemVerilog Learning Resources
12
OpenCL Learning Resources
12
Verilog/SystemVerilog Tools
10
License
1
Sub Categories
Keywords
cpp
6
c
5
firmware
5
matlab
3
security
3
cplusplus
2
cxx14
2
embedded
2
cuda
2
azure-sdk
2
azure
2
gpu
2
cpp11
2
cpp14
2
iot
2
firmware-tools
2
qmk
2
cpp17
2
kvm
2
virtualization
2
verilog
2
c-plus-plus
2
python
2
firmware-analysis
2
swig
1
pinvoke
1
syntax-tree
1
interop
1
glue
1
parsing
1
dotnet
1
parser
1
mono
1
cppsharp
1
clang
1
visitors
1
c-sharp
1
xamarin
1
xamarin-bindings
1
linux
1
update
1
android
1
flashing
1
mobile
1
odin
1
samsung
1
atmel-avr
1
clueboard
1
ergodox-ez
1
keyboard-firmware
1