Every HDL design of a reference project can be divided into two subsystems:
Currently ADI provides base designs for the following prototyping boards:
|PicoZed SDR SOM|
The base design contains all the I/O peripheral and memory interfaces and processing components, which are necessary for a fully functional Linux system. The majority of these components are Altera and Xilinx IP cores, the details of which are beyond the scope of this document. However, an overview may be worth reading about.
Worth mentioning in case of SoCs, the Hard Processor System (HPS) or Processing System 7 (PS7) do not contains just the dual-core ARM® Cortex® - A9 MPCore™ processor, they also have other integrated peripherals and memory interfaces. For more information please visit the manufacturer's website, listed in the table above.
In almost all cases, the carrier board is not made and designed by Analog Devices, so the external memory solution of the system is given. Meaning we can not support, modify or alter this important part of the system, in several cases we even have system limitations because of it (e.g. the memory interface is not fast enough to handle the required data throughput).
Under the two links below the user can find the landing page of the available memory solutions for both Altera and Xilinx:
These interfaces are used to control external peripherals located on the prototyping board or the FMC IO board.
In general, the base system has two Serial Peripheral Interfaces, which are used as a control interface for FMC/HSMC devices. These SPI interfaces are controlled by the integrated SPI controller of the Hard Processor System (HPS) or Processing System 7 (PS7) or an Altera or Xilinx SPI controller core.
A couple of carrier boards require these standard interfaces for different purposes, for example, a configuration interface for an audio peripheral device. These peripherals do not necessarily have vital roles in the reference design, it's more like a generic goal to support all the provided peripherals of the carrier board.
There is HDMI support for all the carriers which are using the ADV7511 as HDMI transmitter. The HDMI transmitter core can be found here.
The general rule of thumb is to define 64 GPIO pins for the base design. The 32 LSB bit will be assigned to switches, buttons and/or LEDs, which can be found on the carrier board. The 32 MSB bits can be used for the FMC board.
These interfaces designs are borrowed from the golden reference design of the board.
The base design files are located in the following sub-folder of the repository: /projects/common.
In case of a project, inside the system_bd.tcl file, we have to source the base design first, then the board design. For example, in case of FMCOMMS2 with Zedboard, the system_bd.tcl will look like the following:
source $ad_hdl_dir/projects/common/zed/zed_system_bd.tcl source ../common/fmcomms2_bd.tcl