Project

General

Profile

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).