How can I customize blocks within the SerDes Designer app?

2 views (last 30 days)
I am using the SerDes Designer app in R2022a to design and simulate a Serial/Deserializer system. I would like to add custom functionality to one of the blocks within the SerDes Designer, for example the 'CTLE' block. However, I am unsure of the best approach to do this.
What are the different approaches for customizing a block in the SerDes Designer?

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 13 Apr 2022
There are a few workflows for customizing a SerDes block, with varying levels of complexity and support. Below are the different methods to do so:
Method 1 - Customizing via the SerDes Designer + SerDes IBIS-AMI Manager (Most supported/recommended)
This workflow has the advantage that it requires minimal code to be written and no knowledge of System Objects. This method is best when you would like to add functionality/additional control logic on top of a shipped SerDes component, such as adding preset values for the block's parameters. Workflows that use this method are typically able to be supported.
To do this, please follow the workflow described in the below example:
Method 2 - Customizing via inheriting from the SerDes block's System Object (Less supported/recommended)
This workflow is more complicated than Method 1, since it requires knowledge of System Objects in MATLAB, and requires re-implementation of some of the SerDes component's methods. This method also has limited support. That being said, it may be useful when trying to add advanced custom functionality to a SerDes block, or modify the underlying calculations/algorithms the block performs.
To do this, perform the following steps:
1. Create a new file to house your custom class
2. Derive this class from the SerDes System Object of choice. Ex:
% CustomCTLE.m
classdef CustomCTLE < serdes.CTLE
% Reimplemented methods/custom functionality goes here
end
3. Implement the desired methods/properties as needed
4. Follow the "Implement Custom CTLE in SerDes Toolbox PassThrough Block" example until the "Modify PassThrough Block to Implement CTLE" step is reached https://www.mathworks.com/help/releases/R2022a/serdes/ug/implement-custom-ctle-in-serdes-toolbox-passthrough-block.html#ImplementCustomCTLEInSerDesToolboxPassThroughBlockExample-2
5. Look under the mask of the 'PassThrough' block (Ctrl+U) and set the System Object name to your custom System Object
6. Configure its inputs and outputs as needed
Method 3 - Customtizing via implementing a full custom SerDes-compatible System Object (Least supported/recommended)
This is the most advanced and least supported workflow, since it requires fully implementing a System Object. This is only necessary if a completely custom component is desired or extremely major changes are desired to an existing SerDes block. The best way to approach creating a custom component is to look at the source code for the most similar existing SerDes System Object, and base custom code off of its structure. Ex:
>> edit serdes.CTLE
After the custom component is implemented in a class, follow steps 4-6 in Method 2 to import/configure it.
For more information on System Objects, please refer to the documentation page below: 

More Answers (0)

Categories

Find more on Customize SerDes Systems in Help Center and File Exchange

Products


Release

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!