RoadTest: Cmod S7: Breadboardable Spartan-7 FPGA Module
Author: sachintaneja
Creation date:
Evaluation Type: Development Boards & Tools
Did you receive all parts the manufacturer stated would be included in the package?: True
What other parts do you consider comparable to this product?: Digilent Arty S7 and Terasic DE0 Nano
What were the biggest problems encountered?: Simple software for design and interact with FPGA (particularly for beginners)
Detailed Review:
FPGA basics and Prerequisites:
Starting with basics, FPGA (commonly referred to as field programmable gate arrays) is an integrated circuit containing reconfigurable logic blocks, memories, and programmable system. Logic blocks can be reconfigured as combinational logic or flip flops. Memories can be used as block of RAM. Latest version of FPGA in advanced process contains programmable system (Microcontroller i.e., ARM Cortex M0) for software design and hardware/software co-design. FPGA are used for prototyping and logic verification purpose before designing any application specific integrated circuit design (huge investment).
Xilinx is one of the leading vendors of FPGA and Digilent is the leading engineering product development company using FPGA and converting it into more useful form “development board” that can harness the power of FPGA and required peripherals.
CMOD S7 development FPGA board:
CMOD S7 is one of the development board by Digilent having the Xilinx Spartan 7 FPGA. This version of the development board is created with an aim of high space utilization in breadboardable form. One of the strong points of the Digilent is the organized collection of the resource related to any FPGA development board known as “Resource Center”. CMOD S7 resource center can be accessed on link.
Resource center: https://reference.digilentinc.com/reference/programmable-logic/cmod-s7/start
Reference manual is commonly required to understand the capabilities of any development kit including the FPGA and available peripherals. Resource manual for CMOS S7 is very elaborative and easy to understand. Reference manual can be accessed on below link.
Manual: https://reference.digilentinc.com/reference/programmable-logic/cmod-s7/reference-manual
Technical support with active community is secret sauce behind any product adoption success by large number of users in the design community. Digilent technical support can be accessed on below link.
Digilent technical support: https://forum.digilentinc.com/forum/4-fpga/
Picture of the CMOD S7 is attached for reference.
CMOD S7 design environment (applicable to any Xilinx FPGA):
External user requires any software (electronic design automation tool) to interact and configure the FPGA to achieve desired functionality. Common and efficient approach is to write the hardware description language (HDL) code to describe the digital logic, memory or combined functionality. Vivado is an EDA tool provided by Xilinx for any FPGA. Below link will help any new or experienced user to install Vivado and setup digilent FPGA development board. FPGA development board specific files can be downloaded
Vivado installation and example: https://reference.digilentinc.com/vivado/getting_started/start
Prerequisite needs to be followed to install the Digilent board files to be recognized in Vivado.
Board specific files installation: https://reference.digilentinc.com/vivado/installing-vivado/v2019.2
First example design:
Out of the box demo is used to verify the Vivado installation, USB to UART connection and working of whole FPGA development board. This can help to find any potential problem (faulty USB cable in my case or any missing Vivado software file). This demo can be downloaded from below link:
Out of the Box Demo: https://github.com/Digilent/Cmod-S7-25-OOB
Vivado project needs to be opened followed by generating bitstream. Bitstream needs to be programmed and UART functionality is displayed in attached pictures.
Second example design:
Scan based serial communication is achieved with asynchronous interface protocol using shift registers operating on non-overlapping clocks was designed to communicate with custom ASIC. This type of interface is commonly used to move data in and out of the chips developed in small scale (Universities or small scale industry projects).
Reference design: https://opencores.org/projects/scan_based_serial_communication
This project contains shift registers holding the data to be sent into the chip and read back (if necessary) from chip. Verilog is written for SCAN functionality in FPGA to send the 16-bit data and output data is observed from data out. Digital signals are generated using NI PXI chassis holding digital pattern generation instrument and output is captured back using the same using the custom LabVIEW interface. FPGA connections and output is attached for reference.
Summary:
I am highly impressed with the small form factor (breadboardable form) and capabilities enabled by this CMOD S7 (FPGA, USB to UART interface, Flash memory, PMOD connector and ADC) under 75 USD. This board can serve as an ideal daughter-board to test any ASIC on customized PCB, I recommend all students or researchers who are looking for cost and space effective option consider adopting this FPGA development board. Other competitive FPGA development boards (Arty S7) can be selected for higher price with more flexibility with higher board area in non breadboardable form.
At last, I want to thank Digilent and element14 Roadtest team for selecting me as road tester and providing the CMOD S7 FPGA development board for this review.
Top Comments
I was hoping to see a lot more detail about your experience with the unit.
How familiar were you with FPGA technology before you began.
How easy was it to understand how the device works?
How easy was the…