Clock extraction method » History » Version 1
Sergey Smolov, 03/09/2013 07:03 PM
1 | 1 | Sergey Smolov | h1. Clock extraction method |
---|---|---|---|
2 | |||
3 | h2. Concept |
||
4 | |||
5 | The prototype of clock extraction method is implemented in Retrascope project. |
||
6 | Clock is an input signal of module, that is not an array, and it''s value is not used in assignments. |
||
7 | |||
8 | h2. Implementation details |
||
9 | |||
10 | The method prototype is implemented in _ru.ispras.retrascope.gaa.extraction.ClockExtractor_ class. It is possible to test it by running _ru.ispras.retrascope.gaa.tests.ClockExtractorTest_. This test: |
||
11 | 1) Performs VHDL model into Zamia IG - inner representation, that is created by ZamiaCAD engine; |
||
12 | 2) Calls _extractClockListFromModule(ZamiaProject, IGModule)_ target method; |
||
13 | 3) Prints result of the extraction as list of signal names. |
||
14 | |||
15 | h2. Informal method description |
||
16 | |||
17 | Clock extraction algorithm has two main steps. First of all, it performs an analysis of all interface signals of module: both input and output. If current signal satisfies to the definition of clock (that is described above), then it is added to list of hypothetical clocks. |
||
18 | Secondly, algorithm walks through IG graph recursively, and if it finds in _IGoperationObject_ (an object, that participates in assignments) some element from list of hypothetical clocks, than algorithm removes this element from list. Algorithm does not process conditions from "if"\"when" constructions. |
||
19 | |||
20 | h2. Application area |
||
21 | |||
22 | The algorithm can be applied both single module and multi-module VHDL design because of pecularities of ZamiaCAD (this engine performs multi=module VHDL design into single IG graph). |