IP documentation » History » Version 17
Jean-Christophe Pellion, 27/02/2014 05:38 PM
1 | 10 | Jean-Christophe Pellion | {{>toc}} |
---|---|---|---|
2 | 1 | Jean-Christophe Pellion | |
3 | 11 | Jean-Christophe Pellion | h1. IP Documentation |
4 | 1 | Jean-Christophe Pellion | |
5 | 15 | Jean-Christophe Pellion | ---- |
6 | |||
7 | 11 | Jean-Christophe Pellion | h2. General Purpose |
8 | 1 | Jean-Christophe Pellion | |
9 | 15 | Jean-Christophe Pellion | h3. Edge Detection |
10 | 1 | Jean-Christophe Pellion | |
11 | 15 | Jean-Christophe Pellion | {{collapse(Edge_Detection) |
12 | EdgeDetection permit to detect the edge of the sin signal. |
||
13 | |||
14 | p=. !{width: 20%}edge_detection.png! |
||
15 | |||
16 | <pre><code class="vhdl"> |
||
17 | COMPONENT lpp_edge_detection |
||
18 | PORT ( |
||
19 | clk : IN STD_LOGIC; |
||
20 | rstn : IN STD_LOGIC; |
||
21 | sin : IN STD_LOGIC; |
||
22 | sout : OUT STD_LOGIC); |
||
23 | END COMPONENT; |
||
24 | </code></pre> |
||
25 | |||
26 | |_.Signal |_.Direction |_.Size |_.Function |_. Active | |
||
27 | |clk |input |1 |clock domain 1 |rising edge | |
||
28 | |rstn |input |1 |reset |low | |
||
29 | |sin |input |1 |signal in | | |
||
30 | |sout |ouput |1 |signal out | | |
||
31 | |||
32 | }} |
||
33 | {{collapse(Edge_to_level) |
||
34 | EdgeToLevel ... |
||
35 | |||
36 | 16 | Jean-Christophe Pellion | p=. !{width: 20%}edge_to_level.png! |
37 | 15 | Jean-Christophe Pellion | |
38 | <pre><code class="vhdl"> |
||
39 | 17 | Jean-Christophe Pellion | COMPONENT lpp_edge_to_level |
40 | 15 | Jean-Christophe Pellion | PORT ( |
41 | clk : IN STD_LOGIC; |
||
42 | rstn : IN STD_LOGIC; |
||
43 | sin : IN STD_LOGIC; |
||
44 | sout : OUT STD_LOGIC); |
||
45 | END COMPONENT; |
||
46 | </code></pre> |
||
47 | |||
48 | |_.Signal |_.Direction |_.Size |_.Function |_. Active | |
||
49 | |clk |input |1 |clock domain 1 |rising edge | |
||
50 | |rstn |input |1 |reset |low | |
||
51 | |sin |input |1 |signal in | | |
||
52 | |sout |ouput |1 |signal out | | |
||
53 | |||
54 | }} |
||
55 | |||
56 | 13 | Jean-Christophe Pellion | h3. Synchronizer |
57 | 8 | Jean-Christophe Pellion | |
58 | {{collapse(SYNC_FF) |
||
59 | 1 | Jean-Christophe Pellion | Sync_FF permit to synchronize a signal A in the clock domain clk. Normally, the A signal must be the output of a FF cloked in an other domain. You shouldtn't have "logic" between the 2 domain. |
60 | 14 | Jean-Christophe Pellion | You can configure the FF number (default 2). This number is depending of the MTBF(Mean Time Between Failure). |
61 | 13 | Jean-Christophe Pellion | |
62 | p=. !{width: 15%}SYNC_FF.png! |
||
63 | 8 | Jean-Christophe Pellion | |
64 | <pre><code class="vhdl"> |
||
65 | COMPONENT SYNC_FF_LPP_JCP |
||
66 | GENERIC ( |
||
67 | NB_FF_OF_SYNC : INTEGER); |
||
68 | PORT ( |
||
69 | clk : IN STD_LOGIC; |
||
70 | rstn : IN STD_LOGIC; |
||
71 | A : IN STD_LOGIC; |
||
72 | A_sync : OUT STD_LOGIC); |
||
73 | END COMPONENT; |
||
74 | </code></pre> |
||
75 | |||
76 | |_.Parameter |_.Type |_.Size |_.Description |_.Default | |
||
77 | 7 | Jean-Christophe Pellion | |NB_FF_OF_SYNC |Integer | |Number of FF |2 | |
78 | 1 | Jean-Christophe Pellion | |\5.| |
79 | |_.Signal |_.Direction |_.Size |_.Function |_. Active | |
||
80 | |clk |input |1 |clock |rising edge | |
||
81 | |rstn |input |1 |reset |low | |
||
82 | 15 | Jean-Christophe Pellion | |sin |input |1 |signal in | | |
83 | |sout |ouput |1 |signal synchronized | | |
||
84 | 13 | Jean-Christophe Pellion | |
85 | }} |
||
86 | |||
87 | 14 | Jean-Christophe Pellion | {{collapse(SYNC_VALID_BIT) |
88 | 13 | Jean-Christophe Pellion | SYNC_VALID_BIT permit to synchronize a signal sin from clock domain clk_in in clock domain clk_out. The sin signal is clocked with one FF in clk_in domain and NB_FF_OF_SYNC in clk_out domain. |
89 | You can configure the FF number (default 2). This number is depending of the MTBF(Mean Time Between Failure). |
||
90 | 14 | Jean-Christophe Pellion | |
91 | 13 | Jean-Christophe Pellion | p=. !{width: 20%}SYNC_VALID_BIT.png! |
92 | |||
93 | <pre><code class="vhdl"> |
||
94 | COMPONENT SYNC_VALID_BIT_LPP_JCP |
||
95 | GENERIC ( |
||
96 | NB_FF_OF_SYNC : INTEGER); |
||
97 | PORT ( |
||
98 | clk_in : IN STD_LOGIC; |
||
99 | clk_out : IN STD_LOGIC; |
||
100 | rstn : IN STD_LOGIC; |
||
101 | sin : IN STD_LOGIC; |
||
102 | sout : OUT STD_LOGIC); |
||
103 | END COMPONENT; |
||
104 | </code></pre> |
||
105 | |||
106 | |_.Parameter |_.Type |_.Size |_.Description |_.Default | |
||
107 | |NB_FF_OF_SYNC |Integer | |Number of FF |2 | |
||
108 | |\5.| |
||
109 | |_.Signal |_.Direction |_.Size |_.Function |_. Active | |
||
110 | 1 | Jean-Christophe Pellion | |clk_in |input |1 |clock domain 1 |rising edge | |
111 | 13 | Jean-Christophe Pellion | |clk_out |input |1 |clock domain 1 |rising edge | |
112 | |rstn |input |1 |reset |low | |
||
113 | |sin |input |1 |data clocked in domain 1| | |
||
114 | 15 | Jean-Christophe Pellion | |sout |output |1 |data clocked in domain 2| | |
115 | 2 | Jean-Christophe Pellion | |
116 | }} |