SPRUIR8B april 2020 – july 2023
To open the SysConfig tool, double-click on the “.syscfg” file you want to edit in the CCS Project Explorer window. A screen like that is shown in Figure 3-5.
If this screen does not open, be sure you have correctly completed the steps before this.
The configuration of CLB tiles are contained in the .syscfg file. You can change the name of the tile if desired. For the highlighted tile a list of sub-modules is shown in the pane to the right. The parameters of each sub-system can be inspected and edited by selecting the sub-module.
The “BOUNDARY” item is a special case. This group allows the user to select the tile inputs for simulation only. When the tool configuration is generated the CLB inputs always come from the CLB module within SysConfig, but for the purposes of simulation the user can specify a square wave signal source, together with a period and duty (both in clock cycles), synchronization, and input pipeline conditions as shown in Figure 3-6. Custom waveform generation for simulation purposes is also supported. For more information on the simulator, see Section 3.5. These options are only for simulation and do not affect the actual CLB configuration or its implementation on the device.
The user configures and connects sub-modules in each tile using the check-boxes and drop-down options in the tool. All the sub-modules besides "BOUNDARY" also have a "User Description". This description is a multi-line text box where users can enter comments to help contextualize each part of the CLB.
Context sensitive help appears when the mouse cursor is hovered over each item in the configuration tool. Figure 3-8 shows an example for the "Match Reference 1" field in the "Counter 0" sub-module.
Logical equations for the LUTs and FSMs are configured by text entry using C format. Table 3-2 shows the symbols that are allowed in a Boolean equation.
Logical Operation | Symbol |
---|---|
AND | & |
OR | | |
XOR | ^ |
NOT | ! |
The use of parentheses is supported: for example, one could write: i1 | !(i2 & i3). The tool performs syntax checking on the equations as they are entered. Invalid equations are indicated by an error message below the entry line.
Some unlikely logical combinations generate a warning to the user. Figure 3-9 shows an example in which the user has attempted to use the i2 input in "LUT 0" in a Boolean equation. However, i2 is configured to be a constant which is unlikely to be what the user intended. The warning appears both below the equation and below the input selection.
For some fields, the tool performs range checking on numerical entries to ensure they lie within the allowable range. For example, an attempt to load a counter sub-module with a value greater than 232 will produce a warning because the counter is only 32 bits wide.
The tool automatically generates a number of files as the user enters configuration data. To view the generated files, click on the "< >” symbol in the upper right corner of the tool and select the filename to open it.
CLB register settings are contained in the header file “clb_config.h”, which can be opened by the user by clicking the filename. An example is shown in Figure 3-11. It is important to understand that this file is updated by the tool each time the user changes any CLB Tile Design settings. Therefore, manual changes to the contents of the generated files will be over-written by the tool. If the file is kept open while changing CLB settings, the the affected register data changing in the file can be viewed when the 'Unified Diff' option is selected.
The file “clb.dot” allows the user to inspect a visual representation of the inter-connection of sub-modules. HTML and SVG versions of this block diagram are generated in the post-build steps that can be opened and viewed inside CCS.
Fields for the HLC sub-module include those for configuring the events and initial values. Each of the four events can trigger execution of a short program consisting of up to eight instructions. For more information on the HLC, see the device-specific TRM.
HLC instructions can be entered in the "HLC Program" drop-down in "Other Dependencies". One blank line is always shown until all eight instructions have been used. In Figure 3-13, the user has selected one HLC trigger events and typed in a short program consisting of three instructions.