Forum Discussion

Thiru_N's avatar
Thiru_N
Icon for New Contributor rankNew Contributor
6 months ago

Help Needed: Implementing UART and SPI on Altera MAX II EPM240 CPLD

Hi everyone,

I'm currently working with the Altera MAX II EPM240T100C5N CPLD and I'm trying to implement UART and SPI communication protocols on it. I'm using Verilog HDL and targeting a 3.3V logic level for interfacing.

Goals:

  • Transmit and receive data using UART (preferably at 9600 baud).

  • Interface with SPI peripherals (as SPI master).

  • Trigger UART transmission (e.g., send byte 0xAA) every 100µs.

  • Ideally get tested and working Verilog code examples for both protocols.

Questions:

  1. Is the EPM240T100C5N suitable for implementing UART and SPI protocols purely in Verilog?

  2. Are there any working code examples or recommended design practices for:

    • UART Tx and Rx

    • SPI Master

  3. Can I reliably generate periodic signals (e.g., 100 µs interval) with the internal resources?

  4. Any caveats or issues to watch out for when using these communication protocols on the MAX II CPLD?

My Setup:

  • Device: Altera MAX II EPM240T100C5N

  • Tools: Quartus II

  • HDL: Verilog

  • Clock: 50 MHz

  • Power: 3.3V

  • No onboard PLL

If anyone can share sample Verilog code or tips, that would be extremely helpful!

Thanks in advance!

— Thiru

1 Reply