CN112100970B - Method and system for graphically displaying clock structure - Google Patents

Method and system for graphically displaying clock structure Download PDF

Info

Publication number
CN112100970B
CN112100970B CN202011285233.2A CN202011285233A CN112100970B CN 112100970 B CN112100970 B CN 112100970B CN 202011285233 A CN202011285233 A CN 202011285233A CN 112100970 B CN112100970 B CN 112100970B
Authority
CN
China
Prior art keywords
clock
port
unit
hash
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011285233.2A
Other languages
Chinese (zh)
Other versions
CN112100970A (en
Inventor
江小帆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Semidrive Technology Co Ltd
Original Assignee
Nanjing Semidrive Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Semidrive Technology Co Ltd filed Critical Nanjing Semidrive Technology Co Ltd
Priority to CN202011285233.2A priority Critical patent/CN112100970B/en
Publication of CN112100970A publication Critical patent/CN112100970A/en
Application granted granted Critical
Publication of CN112100970B publication Critical patent/CN112100970B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention discloses a method and a system for graphically displaying a clock structure, which relate to the technical field of chip clock design and solve the technical problem that a text file containing clock information and a clock structure chart cannot be freely and quickly converted; creating html-based elements for each clock, and writing the clock information into the tags of the elements; and adding CSS styles and dynamic response events to the elements, generating a multi-level list graph of the root clock node according to a first hash variable, and generating an html file. The method and the device realize the quick free conversion between the text file containing the clock information and the clock multilevel list chart, greatly reduce the iteration time when analyzing and checking the clock structure and modifying the clock definition information when designing the complex clock structure chart, and accelerate the clock design process.

Description

Method and system for graphically displaying clock structure
Technical Field
The present disclosure relates to the field of chip clock design technologies, and in particular, to a method and a system for graphically displaying a clock structure.
Background
At present, with the continuous improvement of the scale and the integration degree of the SoC chip design and the continuous increase of the functional diversity, the clock structure in the chip is increasingly complex, and the number of clocks is more and more. Analyzing, checking and modifying a complex clock structure in a chip design takes a lot of time and effort, and has a high error rate. The traditional files for describing and defining the clock structure are all in a pure text format, the information and the interrelation of the clock can only be recorded in the file one by one through text characters, and the information and the interrelation of the clock can not be graphically displayed; however, if the drawing of the clock structure diagram is manually completed, a lot of time and energy are consumed, errors are prone to occur, and the manufactured graph cannot be automatically converted into a standard clock definition file, namely a sdc file, which can be identified by a design tool.
In a complex large SoC chip design, especially in an early stage of design, a more complex clock structure is designed and analyzed and checked, and a common method is that a designer firstly records all clock definition information item by item, and then summarizes the clock definition information item into a text format file, which may be a list file or a sdc file. However, the file in such a format cannot clearly display the designed clock structure, and the clock structure is difficult to analyze, check and modify manually when the clock structure is large and complex. For example, when a certain clock needs to modify the definition information, all clocks associated with the clock need to be found in the file to determine the information needing synchronous update, and then the information needs to be modified one by one. This takes a lot of time and is more difficult if other designers need to analyze or modify their clock structure.
At present, a clock structure can be automatically patterned by using an Electronic Design Automation (EDA) tool of a third party, which can facilitate checking and modification, but the method can be performed only at the middle and later stages of design when data of all netlists, all circuit unit library files, complete timing constraint files and the like of the design are complete. While these data are essentially absent early in the design, they usually have only a partial RTL (Register Transfer Level) code and design architecture diagram, at which time the clock structure cannot be analyzed by EDA tools. And the method cannot conveniently and quickly convert the generated clock structure diagram back to the scdc file again, so that a process of multiple iterations of modification, reanalysis check, return to reedification and reanalysis check is generally needed. In addition, the entire analysis process is slow because the EDA tool needs to read in information for the entire design, which includes much information that is not related to the clock structure.
Disclosure of Invention
The present disclosure provides a method and a system for graphically displaying a clock structure, which aims to realize quick and free mutual conversion between a text file containing clock information and a clock structure chart.
The technical purpose of the present disclosure is achieved by the following technical solutions:
a method of graphically displaying a clock structure, comprising:
reading clock information of all clock nodes under a root clock node through a scripting language, and storing the clock information into a first Hash variable; wherein the clock node comprises at least one clock unit comprising at least one clock port comprising at least one clock comprising a master clock and a derived clock; the clock information comprises clock names, clock sources, clock ports, clock types, clock periods, master clock names, derived clock frequency division multiples and synchronous clock grouping names, wherein the clock types comprise master clock types and derived clock types;
creating html-based elements for each clock, and writing the clock information into tags of the elements;
adding CSS styles and dynamic response events to the elements, generating a multi-level list graph of the root clock node according to the first hash variable, and generating an html file;
wherein storing the clock information into a first hash variable comprises: saving a clock name in a hash key of the first hash variable; storing a clock source, a clock port, a clock type, a clock period, a master clock name, a derivative clock frequency division multiple and a synchronous clock grouping name in a hash value corresponding to the hash key; acquiring the mutual derivation relation of all clocks according to the clock information, adding a sub-clock list in the hash value corresponding to each clock, adding the clock with the clock type as the derived clock type into the sub-clock list of the corresponding main clock according to the derivation relation, establishing the mutual derivation relation between the clocks, and storing the mutual derivation relation between the clock information and the clocks into a first hash variable.
Further, comprising:
establishing a clock port list for the clock unit, and storing the clock port list of the clock unit and whether the clock unit is a root clock node into a second hash variable;
all clock names on the clock port, the clock port of a next-stage derived clock connected with the clock port, the direction of the clock port and the name of a clock unit corresponding to the clock port are stored in a third hash variable;
creating svg graphic elements for each clock unit and the clock port thereof in html according to the first hash variable, the second hash variable and the third hash variable, writing the graphic shape of the clock unit, the name of the clock unit, the graphic shape of the clock port, the name of the clock port and all clock name information on the clock port into a label of the svg graphic element, creating svg connecting line elements according to the connection relation between the clock ports to connect the svg graphic elements, automatically generating a tree-shaped clock structure diagram for displaying the connection relation of the clock ports, and generating an html file.
Further, comprising:
opening the html file through the scripting language, and inquiring the labels of all the elements of the clock;
and defining the clock information in the label according to a scdc standard format, so that the html file is automatically converted into a scdc file.
A system for graphically displaying a clock structure, comprising:
the first acquisition unit reads clock information of all clock nodes under a root clock node through a scripting language and stores the clock information into a first hash variable; wherein the clock node comprises at least one clock unit comprising at least one clock port comprising at least one clock comprising a master clock and a derived clock; the clock information comprises clock names, clock sources, clock ports, clock types, clock periods, master clock names, derived clock frequency division multiples and synchronous clock grouping names, wherein the clock types comprise master clock types and derived clock types;
the system comprises an element creating unit, a parameter setting unit and a parameter setting unit, wherein the element creating unit creates an html-based element for each clock and writes the clock information into a label of the element;
the list graph generating unit is used for adding CSS styles and dynamic response events to the elements, generating a multi-level list graph of the root clock node according to the first hash variable and generating an html file;
the first obtaining unit is further configured to: saving a clock name in a hash key of the first hash variable; storing a clock source, a clock port, a clock type, a clock period, a master clock name, a derivative clock frequency division multiple and a synchronous clock grouping name in a hash value corresponding to the hash key; acquiring the mutual derivation relation of all clocks according to the clock information, adding a sub-clock list in the hash value corresponding to each clock, adding the clock with the clock type as the derived clock type into the sub-clock list of the corresponding main clock according to the derivation relation, establishing the mutual derivation relation between the clocks, and storing the mutual derivation relation between the clock information and the clocks into a first hash variable.
Further, the system further comprises:
a second obtaining unit, configured to establish a clock port list for the clock unit, and store the clock port list of the clock unit and whether the clock unit is a root clock node in a second hash variable;
a third obtaining unit, configured to store all clock names on the clock port, a clock port of a next-stage derived clock connected to the clock port, a direction of the clock port, and names of clock units corresponding to the clock port in a third hash variable;
and the tree-shaped graph generating unit is used for creating svg graph elements for each clock unit and each clock port thereof in html according to the first hash variable, the second hash variable and the third hash variable, writing the graph shape of the clock unit, the name of the clock unit, the graph shape of the clock port, the name of the clock port and all clock name information on the clock port into a label of the svg graph elements, creating svg connecting line elements according to the connection relation between the clock ports to connect the svg graph elements, automatically generating a tree-shaped clock structure diagram for displaying the connection relation of the clock ports, and generating an html file.
Further, the system further comprises:
the query unit is used for opening the html file through the script language and querying the tags of all the elements of the clock;
and the conversion unit is used for defining the clock information in the label according to a scdc standard format, so that the html file is automatically converted into a scdc file.
The beneficial effect of this disclosure lies in: the method and the system for graphically displaying the clock structure read the clock information of all clocks in the root clock node through the scripting language and store the clock information into a first hash variable; creating html-based elements for each clock, and writing the clock information into the tags of the elements; and adding CSS styles and dynamic response events to the elements, generating a multi-level list graph of the root clock node according to the first hash variable, and generating an html file. The method and the device realize the quick free conversion between the text file containing the clock information and the clock multilevel list chart, greatly reduce the iteration time when analyzing and checking the clock structure and modifying the clock definition information when designing the complex clock structure chart, and accelerate the clock design process.
Drawings
FIG. 1 is a flow chart of the disclosed method;
FIG. 2 is a schematic diagram of a graphical example of a clock structure of the present disclosure;
FIG. 3 is a flow chart of an embodiment of the present disclosure;
FIG. 4 is a flow chart of an embodiment of the present disclosure;
FIG. 5 is an exemplary view of a multi-level list folding and unfolding;
FIG. 6 is a schematic view of the disclosed system;
FIG. 7 is a third schematic view of an embodiment of the disclosure;
fig. 8 is a fourth schematic view of an embodiment of the disclosure.
Detailed Description
The technical scheme of the disclosure will be described in detail with reference to the accompanying drawings. In the description of the present disclosure, it is to be understood that the terms "first", "second", and "third" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implying any number of technical features indicated, but merely as distinguishing between different components.
Fig. 1 is a flow chart of the method of the present disclosure, as shown in fig. 1, 100: and reading the clock information of all clock nodes under the root clock node through the scripting language, and storing the clock information into a first Hash variable. Wherein the root clock node comprises at least one clock unit comprising at least one clock port comprising at least one clock comprising a master clock and a derived clock; the clock information comprises a clock source, a clock name, a clock port, a clock type, a clock period, a master clock name, a derived clock frequency division multiple and a synchronous clock grouping name, wherein the clock type comprises the master clock type and the derived clock type.
As a specific embodiment, a python script (or other scripting language) is used to read the definition file of the clock information and save all the clock information in the first hash variable of one two-dimensional hash data type. The key (key) of the first hash variable corresponds to the name of each clock, and the value (value) corresponds to all clock attribute values corresponding to the clock of the name, namely, a clock port, a clock type (including a master clock type and a derived clock type), a clock period, a master clock name, a derived clock frequency division multiple, the name of a clock group of a synchronous clock packet and the like. In addition, the derivation relation of all clocks is obtained according to the clock information, one sub-clock list attribute is added in the hash value of each clock, the clock with the clock type being the derivation clock type is added into the sub-clock list of the corresponding main clock according to the derivation relation of the clocks, so that the mutual derivation relation among the clocks is established, and the mutual derivation relation between the clock information and the clocks is stored into the first hash variable. Therefore, all relevant information of a certain clock, the names of the main clock and all derived clocks of the certain clock can be obtained through the first hash variable only by giving the name of the certain clock, and the information of the main clock at the upper stage or the derived clock at the lower stage can be continuously traced through the obtained names of the derived clocks.
101: an html-based element is created for each clock and the clock information is written into the tag of the element.
As a specific embodiment, according to the clock information captured in step 100, an html < p > element is created for each clock and its clock information is written into the tag of the < p > element. Thus each < p > element corresponds to a clock and the contents of its tag contain all the clock information for that clock. Specifically, the method comprises the following steps: firstly, traversing hash variables for storing clock information, finding a master clock with the type of master clock, and writing information such as a clock source, a clock frequency, a frequency division multiple and the like into a first-level < p > element, wherein the first-level < p > element is positioned at a first level. Then traversing all the next-level derived clocks of the main clock through the hash variable, creating a second-level < p > element for each derived clock in the first-level < p > element, and then writing the clock information of each derived clock into the second-level < p > element. When generating the elements of the second level, the < p > elements of all derived clocks of the second level need to be put in a container through < div > container elements for combination, namely, the labels of all the < p > elements of the second level are put in the labels of the < p > elements of the first level as a whole to form a hierarchical relationship. And traversing the derived clocks of the next level of each derived clock, and creating a corresponding label of a third-level element in the label of the < p > element of the second level, so that the steps recur one level by one until the label of the < p > element of the last-level clock is completely generated, and all the main clocks and all the derived clocks thereof are all written into the corresponding labels.
102: and adding CSS styles and dynamic response events to the elements, generating a multilevel list of the root clock nodes according to the first hash variable, and generating an html file.
As a specific embodiment, CSS (Cascading Style Sheets) styles including fonts, line pitches, colors, indicators for unfolding and folding, front and rear connectors, and the like are added to corresponding elements according to the hierarchy of each clock. Setting the initial display attribute of each < div > container to be none, namely not displaying all derived clocks in an initial state, then adding a mouse click event (namely a dynamic response event) to an element of a master clock through javascript, and setting the display attribute of the < div > container of the next-stage derived clock to be block when a tag of a certain master clock is clicked by a mouse, namely displaying the clock; when clicking again, the display attribute is set back to none, namely, the display attribute is hidden again and is not displayed. The derived clock information of the next stage can be expanded and folded by clicking a certain master clock element with a mouse, so that the clock relationship is displayed as a structural diagram of a dynamically foldable multi-stage list, as shown in fig. 5. Fig. 5 (a) shows a state when the multi-level list chart is folded, and (b) shows a state when the multi-level list chart is unfolded.
Fig. 3 is a flow chart of an embodiment of the disclosure, 200: and reading the clock information of all clock nodes under the root clock node through the scripting language, and storing the clock information in a first Hash variable.
201: an html-based element is created for each clock and the clock information is written into the tag of the element.
202: and establishing a clock port list for the clock unit, and storing the clock port list of the clock unit and whether the clock unit is a root clock node into a second hash variable.
203: and storing all clock names on the clock port, the clock port of a next-stage derived clock of the clock port, the direction of the clock port and the name of a clock unit corresponding to the clock port into a third hash variable.
In a specific embodiment, two hash variables are added in addition to the first hash variable, and are used for storing clock unit information where all clocks are located and clock port information on a clock unit. The second hash variable used for saving the clock unit information has two key value pairs which respectively correspond to all clock port lists on a certain clock unit and whether the clock unit is a Boolean value of a root clock node; the key value pair of the third hash variable for storing the clock port information corresponds to all defined clock names on a certain clock port, clock ports of all derived clocks of the next stage connected to the clock port, directions (input direction and output direction) of the clock port, and names of clock units corresponding to the clock port. The mutual connection relationship among the clock ports of all clocks can be established through all the hash variables.
204: creating svg graphic elements for each clock unit and the clock port thereof in html according to the first hash variable, the second hash variable and the third hash variable, connecting the svg graphic elements according to the mutual connection relationship among the clock ports, automatically generating a tree-shaped clock structure diagram of the connection relationship of the clock ports, and generating an html file.
As a specific embodiment, a svg graphic element is created in the html file, and then the hash variable holding the clock unit is traversed to create a < g > element for each clock unit. The < g > element contains one or more of < rect >, < line >, < text > shape elements, and writes the size of the clock unit shape, the clock unit name, the clock port shape on the clock unit, the clock port name, and all clock name information on the clock port into the tags of these shape elements, and then places the < g > element under the < def > tag in the svg graphic element, so that each < g > element corresponds to the graphic of one clock unit. The graph contains the name of the clock unit, all clock port information, and all clock names defined on each clock port. After all the clock units are created, traversing each clock unit, and creating a svg coordinate for the clock unit with the Boolean value of the first root clock node being 1; then traversing all the clock ports on the clock port, obtaining the clock port and clock unit information of the next-stage derived clock connected with each clock port by storing the hash variable of the clock port, then creating svg coordinates for the next-stage clock unit, and simultaneously creating a connecting line by using a < path > element to connect the clock ports. After the clock port of the next stage is connected, the clock port of the next stage, namely the clock port of the third stage, is traced again and graph coordinates and a < path > connection line are created. Thus, the clock port connection of the last stage clock is completed. After repeating such a process to traverse all the clock units which are root clock nodes, the clock structure is converted into a tree-shaped clock structure graph, as shown in fig. 2.
Through the steps, the designed clock information file can be automatically converted into a clock structure diagram with a multilevel list diagram and a tree structure, and the generated html file can be displayed by opening any browser. By clicking a certain clock with a mouse, all the derived clock lists below the certain clock can be dynamically folded and unfolded, and the upper and lower-level derived relation of a certain interested clock can be clearly and visually checked.
Since the generated html file is essentially a plain text file containing all clock information, and the information of each graphic element is marked in the corresponding tag in a text form, the tag contents of all elements can be easily grabbed by a script such as python, and all clock information can be converted back to the text file in sdc format to be directly read. Fig. 4 is a flowchart of an embodiment of the disclosure, as shown in fig. 4, after automatically generating a clock structure diagram or a multi-level list diagram according to the multi-level list, 300: and opening the html file through the scripting language, and querying the tag. 301: and defining the clock information in the label according to a scdc standard format, so that the html file is automatically converted into a scdc file.
As a specific embodiment, starting from the first-level < p > element, the master clock of the first level is defined according to the content in the tag of the first-level < p > element according to the clock definition statement create _ clock command of the scdc standard format, including the clock name, the clock source, the clock period, and so on. Then analyzing the next-level sub-element of the first-level < p > element, if the element has a second-level < p > element, defining a corresponding derived clock by a create _ generated _ clock command according to the information in the second-level < p > element, wherein the main clock of the derived clock is the clock name of the previous level; and when the clock is defined, continuously tracing the sub-elements of the derived clock and defining the derived clock of the next stage, namely the third stage until the derived clock of the last stage is defined. If the next-level sub-element does not exist in the element tag of a certain clock, defining the next < p > element as the clock of the same level; if there is also no < p > element of a peer, the definition of the previous level clock is returned. By analogy, all clock information in all < p > element tags is converted into a standard clock definition command of sdc, and the automatic conversion from the html format file to the sdc file which can be recognized by the tool can be realized. It is worth mentioning that the method not only can convert the html graph into the scdc format file, but also can convert the html graph into the text file in any format in the same step, and only needs to modify the corresponding script.
Fig. 6 is a schematic diagram of the system according to the present disclosure, where the system includes a first obtaining unit, an element creating unit, and a list graph generating unit, where the first obtaining unit is configured to read clock information of all clock nodes below a root clock node through a scripting language, and store the clock information into a first hash variable. The clock node comprises at least one clock unit, the clock unit comprises at least one clock port, the clock port comprises at least one clock, and the clock comprises a master clock and a derived clock; the clock information comprises clock names, clock sources, clock ports, clock types, clock periods, master clock names, derived clock frequency division multiples and synchronous clock grouping names, wherein the clock types comprise the master clock type and the derived clock type.
The first obtaining unit is further configured to obtain derivation relations of all clocks according to the clock information, add a sub-clock list to the hash value of each clock, add a clock of which the clock type is a derived clock type to the sub-clock list of the corresponding master clock according to the derivation relations, establish a mutual derivation relation between clocks, and store the mutual derivation relation between the clock information and the clocks in the first hash variable.
The element creating unit is used for creating html-based elements for each clock and writing the clock information into the tags of the elements. And the list graph generating unit is used for adding CSS styles and dynamic response events to the elements, generating a multi-level list graph of the root clock node according to the first hash variable and generating an html file.
Fig. 7 is a third schematic diagram of an embodiment of the present disclosure, where the system further includes a second obtaining unit, a third obtaining unit, and a tree graph generating unit, where the second obtaining unit and the third obtaining unit respectively store relevant information in a second hash variable and a third hash variable after the first obtaining unit reads all clock information in the root clock node through a scripting language. The tree-shaped graph generating unit is used for creating svg graph elements for each clock unit and the clock port thereof in html according to the first hash variable, the second hash variable and the third hash variable, connecting the svg graph elements according to the connection relation among the clock ports, automatically generating a tree-shaped clock structure graph for displaying the connection relation of the clock ports and generating an html file.
Fig. 8 is a fourth schematic diagram of an embodiment of the present disclosure, where the system further includes a query unit and a conversion unit, and after generating the html file, the query unit is configured to open the html file through a scripting language and query tag contents of elements of the clock; the conversion unit is used for defining the clock information in the label according to a sdc standard format, so that the html file is automatically converted into the sdc file, the conversion speed is high, and the EDA tool or software of any third party is not required to be relied on.
The foregoing is an exemplary embodiment of the present disclosure, and the scope of the present disclosure is defined by the claims and their equivalents.

Claims (6)

1. A method for graphically displaying a clock structure, comprising:
reading clock information of all clock nodes under a root clock node through a scripting language, and storing the clock information into a first Hash variable; wherein the clock node comprises at least one clock unit comprising at least one clock port comprising at least one clock comprising a master clock and a derived clock; the clock information comprises clock names, clock sources, clock ports, clock types, clock periods, master clock names, derived clock frequency division multiples and synchronous clock grouping names, wherein the clock types comprise master clock types and derived clock types;
creating html-based elements for each clock, and writing the clock information into tags of the elements;
adding CSS styles and dynamic response events to the elements, generating a multi-level list graph of the root clock node according to the first hash variable, and generating an html file;
wherein storing the clock information into a first hash variable comprises: saving a clock name in a hash key of the first hash variable; storing a clock source, a clock port, a clock type, a clock period, a master clock name, a derivative clock frequency division multiple and a synchronous clock grouping name in a hash value corresponding to the hash key; acquiring the mutual derivation relation of all clocks according to the clock information, adding a sub-clock list in the hash value corresponding to each clock, adding the clock with the clock type as the derived clock type into the sub-clock list of the corresponding main clock according to the derivation relation, establishing the mutual derivation relation between the clocks, and storing the mutual derivation relation between the clock information and the clocks into a first hash variable.
2. The method of graphically displaying a clock structure as recited in claim 1, comprising:
establishing a clock port list for the clock unit, and storing the clock port list of the clock unit and whether the clock unit is a root clock node into a second hash variable;
all clock names on the clock port, the clock port of a next-stage derived clock connected with the clock port, the direction of the clock port and the name of a clock unit corresponding to the clock port are stored in a third hash variable;
creating svg graphic elements for each clock unit and a clock port thereof in html according to the first hash variable, the second hash variable and the third hash variable, writing the graphic shape of the clock unit, the name of the clock unit, the graphic shape of the clock port, the name of the clock port and all clock name information on the clock port into a label of the svg graphic element, creating svg connecting line elements according to the connection relation between each clock port to connect the svg graphic elements, automatically generating a tree-shaped clock structure diagram for displaying the connection relation of the clock ports, and generating an html file;
the second hash variable comprises two key value pairs, wherein the key of one key value pair corresponds to each clock unit name, and the value corresponds to all clock ports on the clock unit; the key of another key-value pair also corresponds to each clock unit name, and the value corresponds to the Boolean value of whether the clock unit is the root clock node or not;
the key of the key value pair of the third hash variable corresponds to the name of each clock port, and the key corresponds to all defined clock names on the clock port, clock ports of all derived clocks of the next stage connected with the clock port, the direction of the clock port and the name of a clock unit corresponding to the clock port; wherein the directions of the clock ports include an input direction and an output direction.
3. A method of graphically displaying a clock structure as claimed in claim 1 or 2, comprising:
opening the html file through the scripting language, and inquiring the labels of all the elements of the clock;
and defining the clock information in the label according to a scdc standard format, so that the html file is automatically converted into a scdc file.
4. A system for graphically displaying a clock structure, comprising:
the first acquisition unit reads clock information of all clock nodes under a root clock node through a scripting language and stores the clock information into a first hash variable; wherein the clock node comprises at least one clock unit comprising at least one clock port comprising at least one clock comprising a master clock and a derived clock; the clock information comprises clock names, clock sources, clock ports, clock types, clock periods, master clock names, derived clock frequency division multiples and synchronous clock grouping names, wherein the clock types comprise master clock types and derived clock types;
the system comprises an element creating unit, a parameter setting unit and a parameter setting unit, wherein the element creating unit creates an html-based element for each clock and writes the clock information into a label of the element;
the list graph generating unit is used for adding CSS styles and dynamic response events to the elements, generating a multi-level list graph of the root clock node according to the first hash variable and generating an html file;
the first obtaining unit is further configured to: saving a clock name in a hash key of the first hash variable; storing a clock source, a clock port, a clock type, a clock period, a master clock name, a derivative clock frequency division multiple and a synchronous clock grouping name in a hash value corresponding to the hash key; acquiring the mutual derivation relation of all clocks according to the clock information, adding a sub-clock list in the hash value corresponding to each clock, adding the clock with the clock type as the derived clock type into the sub-clock list of the corresponding main clock according to the derivation relation, establishing the mutual derivation relation between the clocks, and storing the mutual derivation relation between the clock information and the clocks into a first hash variable.
5. The system for graphically displaying a clock structure as recited in claim 4, further comprising:
a second obtaining unit, configured to establish a clock port list for the clock unit, and store the clock port list of the clock unit and whether the clock unit is a root clock node in a second hash variable;
a third obtaining unit, configured to store all clock names on the clock port, a clock port of a next-stage derived clock connected to the clock port, a direction of the clock port, and names of clock units corresponding to the clock port in a third hash variable;
the tree-shaped graph generating unit is used for creating svg graph elements for each clock unit and each clock port of the clock units in html according to the first hash variable, the second hash variable and the third hash variable, writing the graph shapes of the clock units, the names of the clock units, the graph shapes of the clock ports, the names of the clock ports and all clock name information on the clock ports into labels of the svg graph elements, creating svg connecting line elements according to the connection relation among the clock ports to connect the svg graph elements, automatically generating a tree-shaped clock structure diagram for displaying the connection relation of the clock ports, and generating html files;
the second hash variable comprises two key value pairs, wherein the key of one key value pair corresponds to each clock unit name, and the value corresponds to all clock ports on the clock unit; the key of another key-value pair also corresponds to each clock unit name, and the value corresponds to the Boolean value of whether the clock unit is the root clock node or not;
the key of the key value pair of the third hash variable corresponds to the name of each clock port, and the key corresponds to all defined clock names on the clock port, clock ports of all derived clocks of the next stage connected with the clock port, the direction of the clock port and the name of a clock unit corresponding to the clock port; wherein the directions of the clock ports include an input direction and an output direction.
6. A system for graphically displaying a clock structure as claimed in claim 4 or 5, further comprising:
the query unit is used for opening the html file through the script language and querying the tags of all the elements of the clock;
and the conversion unit is used for defining the clock information in the label according to a scdc standard format, so that the html file is automatically converted into a scdc file.
CN202011285233.2A 2020-11-17 2020-11-17 Method and system for graphically displaying clock structure Active CN112100970B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011285233.2A CN112100970B (en) 2020-11-17 2020-11-17 Method and system for graphically displaying clock structure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011285233.2A CN112100970B (en) 2020-11-17 2020-11-17 Method and system for graphically displaying clock structure

Publications (2)

Publication Number Publication Date
CN112100970A CN112100970A (en) 2020-12-18
CN112100970B true CN112100970B (en) 2021-05-11

Family

ID=73784714

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011285233.2A Active CN112100970B (en) 2020-11-17 2020-11-17 Method and system for graphically displaying clock structure

Country Status (1)

Country Link
CN (1) CN112100970B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113128162A (en) * 2021-03-25 2021-07-16 井芯微电子技术(天津)有限公司 Clock path information generation method, clock path information generation device, electronic device, and medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7523426B2 (en) * 2005-03-29 2009-04-21 Lsi Corporation Intelligent timing analysis and constraint generation GUI
CN103425804B (en) * 2012-05-15 2016-12-14 北京华大九天软件有限公司 A kind of method of graphic software platform clock system structure
CN106650128B (en) * 2016-12-28 2019-11-19 北京华大九天软件有限公司 A kind of method of graphic software platform timing topology and timing dependence
CN111382192B (en) * 2018-12-28 2023-11-03 北京神州泰岳软件股份有限公司 Data list display method and device and electronic equipment
CN111259619B (en) * 2020-01-17 2023-06-02 南京芯驰半导体科技有限公司 Control method and device for configuration object, storage medium and verification platform

Also Published As

Publication number Publication date
CN112100970A (en) 2020-12-18

Similar Documents

Publication Publication Date Title
US8516418B2 (en) Application of a relational database in integrated circuit design
US7305614B2 (en) Interoperable retrieval and deposit using annotated schema to interface between industrial document specification languages
US7734619B2 (en) Method of presenting lineage diagrams representing query plans
US20140114994A1 (en) Apparatus and Method for Securing Preliminary Information About Database Fragments for Utilization in Mapreduce Processing
EP1001338A2 (en) Method and apparatus for round trip software engineering
CN101211336B (en) Visualized system and method for generating inquiry file
BE1024144A1 (en) IMPROVED CONSTRUCTION OF DATABASE SCHEME MODELS FOR DATABASE SYSTEMS AND REST APIs
US20070204215A1 (en) Device for analyzing log files generated by process automation tools
US20070055679A1 (en) Data expansion method and data processing method for structured documents
US9934354B1 (en) Methods, systems, and computer program product for implementing a layout-driven, multi-fabric schematic design
JPWO2006085455A1 (en) Document processing apparatus and document processing method
CN105955984A (en) Network data searching method based on crawler mode
WO2018220974A1 (en) Systemc model generation method and systemc model generation program
CN115358200A (en) Template document automatic generation method based on SysML meta model
CN110825382A (en) Front-end big data tree structure display method
CN110968294A (en) Business domain model establishing system and method
CN110929165A (en) JAVA Doc knowledge graph-based multidimensional evaluation recommendation method
CN112100970B (en) Method and system for graphically displaying clock structure
CN110489297A (en) A kind of FPGA debugging signal setting method based on graphical interfaces
Elmasri et al. Conceptual modeling for customized XML schemas
US11829696B2 (en) Connection analysis method for multi-port nesting model and storage medium
CN113468003B (en) Tree-shaped display and operation system and method for chip test data
US20060136814A1 (en) Efficient extensible markup language namespace parsing for editing
JP3842572B2 (en) Structured document management method, structured document management apparatus and program
CN113127660A (en) Timing graph database storage method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant