주요 콘텐츠

soc.sdk.Clock Class

Namespace: soc.sdk

Clock object representing the input clock on hardware board

Description

Add-On Required: This feature requires the SoC Blockset Support Package for AMD FPGA and SoC Devices add-on.

An object that defines the specifications for a clock on the hardware board.

Creation

Description

clockObj = soc.sdk.Clock(Name) creates a new soc.sdk.Clock object, with the Name property set to name.

example

Properties

expand all

Name of the clock, specified as a character vector.

Note

The name must start with a letter and may contain letters, numbers, underscores, minus signs, slashes and spaces.

Example: 'MyClock'

Attributes:

GetAccess
public
SetAccess
public

Data Types: char

Since R2026a

Type of the clock, specified as one of these options at a time.

Note

Specify the type of clock only when you use multi-tile synchronization (MTS) on an RFSoC board. For other boards, you need not specify the clock type. The default value of this property is 'SystemDefaultClock'.

  • 'SystemDefaultClock' — The default system clock that the SoC model uses to derive all the clocks required to run the FPGA design.

  • 'FPGAReferenceClock' — The FPGA reference clock that runs the design under test (DUT) when MTS is enabled in the RF Data Converter block.

  • 'SystemReferenceClock' — The system reference clock (SYSREF) used for aligning latency across all the DAC and ADC tiles on an RFSoC board during MTS.

Example: 'SystemDefaultClock'

Attributes:

GetAccess
public
SetAccess
public

Data Types: char | string

The frequency of a clock on the hardware board, specified as a positive scalar in MHz.

Example: 150

Attributes:

GetAccess
public
SetAccess
public

Data Types: double

The pins that the clock uses, specified as a nonnegative scalar or a cell array of two nonnegative scalars. One pin shall be specified for single-ended clock, and two pins for differential clock.

Example: {'J18','J19'}

Attributes:

GetAccess
public
SetAccess
public

Data Types: cell

The IO standard used by the clock, specified as a character vector.

Example: 'IOSTANDARD DIFF_SSTL12'

Attributes:

GetAccess
public
SetAccess
public

Data Types: char

Examples

collapse all

In the soc.sdk.Hardware object, define the system clock by using the soc.sdk.Clock object.

Create an soc.sdk.Hardware object with an internal name of MySoCHardware.

hardwareObj = soc.sdk.Hardware( ...
    "MySoCHardware" ...     % Internal board name
    )
hardwareObj = 

  Hardware with properties:

                      Clocks: {}
                 DIPSwitches: {}
      DeviceTreeIncludeFiles: {}
       DeviceTreeSourceFiles: {}
                   FPGACores: {}
    FPGAPeripheralInterfaces: {}
                 IOInterface: {}
                        LEDs: {}
                      Memory: {}
                        Name: 'MySoCHardware'
              ProcessorCores: {}
                 PushButtons: {}
                      Resets: {}

Add a system clock with frequency of 300 MHz to the hardwareObj object by using the addNewClock method.

clkObj = addNewClock(hardwareObj,'sys_clk');
clkObj.Pins = {"AJ12","AH12"};
clkObj.Frequency = 300;
clkObj.IOStandard = 'IOSTANDARD DIFF_SSTL12';

In the soc.sdk.Hardware object, define the default system clock, FPGA reference clock, and system reference clock for an RFSoC board with MTS mode enabled. To define these clocks, use the soc.sdk.Clock object.

Create an soc.sdk.Hardware object with an internal name of mySoCBoard.

hwObj = soc.sdk.Hardware( ...
    "mySoCBoard" ...     % Internal board name
    )
hwObj = 

  Hardware with properties:

                      Clocks: {}
                 DIPSwitches: {}
      DeviceTreeIncludeFiles: {}
       DeviceTreeSourceFiles: {}
                   FPGACores: {}
    FPGAPeripheralInterfaces: {}
                 IOInterface: {}
                        LEDs: {}
                      Memory: {}
                        Name: 'mySoCBoard'
              ProcessorCores: {}
                 PushButtons: {}
                      Resets: {}

Add a default system clock to the hwObj object by using the addNewClock method.

clkObj = addNewClock(hwObj,'sys_clk');
clkObj.Type = 'SystemDefaultClock';
clkObj.Pins = {'AJ12','AH12'};
clkObj.Frequency = 300; % in MHz
clkObj.IOStandard = 'IOSTANDARD DIFF_SSTL12';

Add an FPGA reference clock to the hwObj object by using the addNewClock method.

clkObj = addNewClock(hwObj,'fpga_ref_clk');
clkObj.Type = 'FPGAReferenceClock';
clkObj.Pins = {'A11','A12'};
clkObj.Frequency = 122.88; % in MHz
clkObj.IOStandard = 'IOSTANDARD DIFF_SSTL12';

Add a system reference clock to the hwObj object by using the addNewClock method.

clkObj = addNewClock(hwObj,'sys_ref_clk');
clkObj.Type = 'SystemReferenceClock';
clkObj.Pins = {'A13','A14'};
clkObj.Frequency = 7.68; % in MHz
clkObj.IOStandard = 'IOSTANDARD DIFF_SSTL12';

Version History

Introduced in R2019b