Embedded Systems

Embedded systems drive small devices


Toolbox

C
C++
VHDL
VHDL
Verilog
Verilog
Bash
Python
TypeScript
Arduino
FPGA
FPGA
SoC
SoC

ConcernsTools
Hardware
  • IP Development
  • Integrated circuits
  • Microprocessors, soft-processors
  • Memory (DDR, SRAM)
  • I/O (Ethernet, Serial, Video I/O, USB)
  • IP integration
  • VHDL, Verilog
  • Microblaze, ARM
  • UART, SPI, etc.
  • Arduino
Firmware
  • Operating systems
  • Application logic
  • API Interfaces
  • Linux/Unix, RtOS, bare-metal
  • C, C++
Verification
  • Automation
  • Coverage
  • Reporting
  • Documentation
  • TypeScript/JavaScript
  • Python2/3
  • Jenkins
  • Scripting

Case Study

OrganizationSystem-On-Chip Technologies
Business UnitHardware Engineering
Design SpecificationUltra-low-latency ASCII video on-screen display overlay
  • Support up to 8 independent labels of up to 32 characters each.
  • Each label must have independent:
    • text string
    • enable/disable toggle
    • position
    • text-color
    • background color
    • 8 font sizes
Deliverables
  • OSD Overlay IP core according to specifications (VHDL).
  • Browser-based font-editor web application to load/edit/store bitmap fonts in FPGA font ROM memory (VHDL array). Features font duplication, smart-resizing, and pixel-editing using an intuitive drawing interface.
Results
  • Ultra-low latency performance (1-pixel latency).
  • Easy generation of pixel-perfect font-sizes using clever stretching of smaller fonts and pixel-perfect touchups.