| 102 | | Vous utiliserez la construction ''spy'' pour définir les différents signaux que vous souhaitez |
| 103 | | observer: on peut demander au simulateur de tracer les signaux de sortie, mais également |
| 104 | | les signaux internes présents dans la description VHDL. |
| 105 | | |
| 106 | | On commencera par un scénario simple comportant une dizaine de cycles. |
| | 106 | in a (3 downto 0) X;;; |
| | 107 | in b (3 downto 0) X;;; |
| | 108 | in sel B;;; |
| | 109 | in ck B;;; |
| | 110 | in vdd B;;; |
| | 111 | in vss B;;; |
| | 112 | |
| | 113 | -- observed outputs & internal signals : |
| | 114 | |
| | 115 | register addaccu.accu (3 downto 0) X spy;;; |
| | 116 | out s (3 downto 0) X spy;;; |
| | 117 | |
| | 118 | begin |
| | 119 | |
| | 120 | -- Pattern description : |
| | 121 | |
| | 122 | -- a b s c v v a s |
| | 123 | -- e k d s c |
| | 124 | -- l d s c |
| | 125 | -- u |
| | 126 | |
| | 127 | < 0 ns> : 0 0 0 0 1 0 ?* ?* ; |
| | 128 | < +5 ns> : 0 0 0 1 1 0 ?* ?* ; |
| | 129 | |
| | 130 | < +5 ns> : 0 1 0 0 1 0 ?* ?* ; |
| | 131 | < +5 ns> : 0 1 0 1 1 0 ?* ?* ; |
| | 132 | |
| | 133 | < +5 ns> : 0 2 0 0 1 0 ?* ?* ; |
| | 134 | < +5 ns> : 0 2 0 1 1 0 ?* ?* ; |
| | 135 | |
| | 136 | < +5 ns> : 0 5 0 0 1 0 ?* ?* ; |
| | 137 | < +5 ns> : 0 5 0 1 1 0 ?* ?* ; |
| | 138 | |
| | 139 | < +5 ns> : 0 1 1 0 1 0 ?* ?* ; |
| | 140 | < +5 ns> : 0 1 1 1 1 0 ?* ?* ; |
| | 141 | |
| | 142 | < +5 ns> : 0 1 1 0 1 0 ?* ?* ; |
| | 143 | < +5 ns> : 0 1 1 1 1 0 ?* ?* ; |
| | 144 | |
| | 145 | < +5 ns> : 0 1 1 0 1 0 ?* ?* ; |
| | 146 | < +5 ns> : 0 1 1 1 1 0 ?* ?* ; |
| | 147 | |
| | 148 | end; |
| | 149 | }}} |
| | 150 | |
| | 151 | On utilise l'attribut ''spy'' pour les signaux qu'on souhaite observer. Les signaux internes sont |
| | 152 | désignés par la notation ''composant.signal'' |