UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 22777

ISE Text Editor - The text of an HDL file is not correctly highlighted

Description

When I open an HDL file in the ISE Text Editor, it is not properly highlighted to show keywords, comments, and constructs for the given HDL language.

Is there a reason for this? Is there a way to display the highlighting?

Solution

ISE Text Editor has various color coding schemes corresponding to the syntax of different file types. The following extensions are recognized for each of these languages.

VHDL

Extensions: vhd,vhdl,vht,vho,vhs,vhi,vhf,vho,vhw

Verilog

Extensions: v,vf,tf,tfi,tfw,veo,tft

ABEL

Extensions: abl,abv

UCF

Extensions: ucf

NOTE: The procedure outlined below is for user information only. Any changes made by the user to the "TextEditor.cfg" or associated ".ssd" files are at the user's discretion and are not supported by Xilinx Technical Support.

If you want to add an additional extension to the list of color coding for a given type (e.g., .vh, .V, .VHD, .h), you can append the extension to the correct line in the "%Xilinx%\data\TextEditor.cfg" file.

Example:

To highlight a file with a ".vh" extension for a Verilog file, follow these steps:

1. Open "%Xilinx%\data\TextEditor.cfg" in a text editor.

2. Change:

[Verilog]

Template=verilang.ssd

Extensions=v,vf,tf,tfi,tfw,veo,tft

MainExtensions=v

to:

[Verilog]

Template=verilang.ssd

Extensions=v,vf,tf,tfi,tfw,veo,tft,vh

MainExtensions=v

NOTE: You can add any file extension to the color coding list for a language type (including uppercase extensions). However, files with improper extensions are not accepted by other software applications in the ISE design tools suite.

To change the highlighting rules for a given file type, or to add a new file type, follow the configuration specifications outlined below.

Syntax highlight Configuration file Specification

1. Definition

The configuration ".ssd" file contains sections that control global settings and a reference section that you can use for various customizations. These customizations can include the colors for rendering keywords and token-based text segments for comments, strings, and more. These sections include the [Parser] section, [Tagn] section, and the [ColorGroups] sections.

2. [Parser] Section

The [Parser] section describes settings specific to the parsing engine. Here are some sample settings:

[Parser]

Operators = ~!%^&*()-+[]{}|:.,></?=;

Delimiters = ,./<>?:'"[]{}\|`$~!@%^&*()-+=;#

KWStartChars = `$

NumTags = 4

MatchCase = 1

Key Description

Operators Symbols the parser interprets as operators. They are rendered with a special color.

Delimiters Symbols the parser interprets as delimiters.

KWStartChars Specific non-alphanumeric characters that can begin a keyword.

NumTags The number of sections that define special token-based text segments (strings, comments, etc) These sections should be named Tag1, Tag2, Tag3, and so on.

MatchCase For keyword matching; controls the default option for matching the case of the search text, Default=1.

3. [Tagn] Sections

The Tags in the [Tagn] sections, where n= 1,2,3, ..., represent items that need to be colored but are not simple matches, such as regular keywords. Items of text that are not simple matches are called token keywords. These items include quotes and comments. Following are some sample settings:

[Tag2]

ColorGroup = String

BeginTag = "

EndTag="

MultiLine=0

EscapeChar=\

Key Description

ColorGroup The color group that this token keyword uses when rendered.

BeginTag The character sequence that begins this token keyword. It might be a single character or multiple characters.

EngTag The sequence of characters that terminates this token keyword. For single line token keywords, this might be blank, which indicates that the token keyword extends to the end of line. It might be a single character or multiple characters.

EscapeChar When this character is found in a token keyword, it instructs the parser to disregard the next character when searching for the EndTag. Must be a single character.

MultLine If 0, the token keyword is a single line token keyword. If nonzero, the token keyword can span multiple lines. Default 0.

4. [ColorGroups] Section

The [ColorGroups] section references other sections that describe color attributes that you can assign to various text categories. For example, one color group might specify the colors used for comments, while another color group might specify the colors used for operators.

Each color group assignment is specified in its own stanza. Following are sample settings taken from the "verilang.ssd" file:

[ColorGroups]

NumGroups = 9

Group1 = Number

Group2 = Operator

Group3 = Comment

Group4 = Keyword

Group5 = String

Group6 = Functions

Group7 = Directives

Group8 = Attributes

Group9 = Unisim_Simprim

Note that in this ".ssd" file there are stanzas named for each color group. For example, [Comment] color groups in the "verilang.ssd" file are defined as follows:

[Comment]

TextColor = 0,128,0

DisplayName=Comment

The keys in these groups are named Group<n>, where <n> is a number. The NumGroups key indicates the number of color groups assigned. The color group settings are described below:

Key Description

TextColor RGB values for the text color

DisplayName The name for this color group as it will be used for future.

Each of the stanzas above represents the colors that are used to render ordinary text, text that is not contained in a keyword, operator, number, or token-based string.

The [Keywords] stanza lists the keywords that the syntax highlight lexer recognizes for special color rendering. Each key represents a keyword, and the value associated with the keyword is the color group specifying the colors that keyword should be rendered with. Following is a small section of [Keywords] stanza from the "verilang.ssd" file:

[Keywords]

always=Keyword

and=Keyword

assign=Keyword

begin=Keyword

buf=Keyword

bufif0=Keyword

Linked Answer Records

Associated Answer Records

Answer Number Answer Title Version Found Version Resolved
34688 11.x Project Navigator - Unable to parse top level with reference to ".vh" file N/A N/A
AR# 22777
Date Created 09/04/2007
Last Updated 12/15/2012
Status Active
Type General Article