| 74 | Ces registres sont accessibles uniquement en lecture. |
| 75 | |
| 76 | ||Registre de Status du MWMR || Description || |
| 77 | ||@0 || EOC (End of Compute). Bits 0 à 3 (un bit par coeur) || |
| 78 | ||@1 || Status du coeur 0 || |
| 79 | ||@2 || Status du coeur 1 (non utilisé) || |
| 80 | ||@3 || Status du coeur 2 (non utilisé) || |
| 81 | ||@4 || Status du coeur 3 (non utilisé) || |
| 82 | |
| 83 | == 3) Configuration du cœur == |
| 84 | === 3.1) Liste des paramètres === |
| 85 | Les paramètres configurables du bloc trx_ofdm sont les suivants : |
| 86 | |
| 87 | || Paramètre || min val || max val || Description || |
| 88 | || BYPASS_FFT || 0 || 1 || Si 1 bypass de la fonction FFT (mode de test) || |
| 89 | || FFT_TYPE || 0 || 1 || 0 = FRAMING+IFFT, 1 = FFT+DEFRAMING || |
| 90 | || LOG2_SIZE_FFT || 5 || 11 || Pour size_fft = 32,64,128,256,512,1024,2048 || |
| 91 | || NORMALIZE POWER FFT|| 0 || 1 || Si 1, division par sqr(n) après le calcul de FFT/IFFT (n = size_fft) || |
| 92 | || GI_INSERTION || 0 || 1 || Si 1 intervalle de garde inséré || |
| 93 | || GI_SIZE || 0 || 2047 || Taille Interval de garde (pour IFFT uniquement) || |
| 94 | || SHIFT_CARRIER || 0 || 1 || Si 1, décalage des porteuses || |
| 95 | || SHIFT_PARITY || 0 || 1 || Si 1, inversion des porteuses paires/impaires || |
| 96 | || FLOC || 0 || 2 || Type de framing: [[BR]] 0: dp1fifo, data et pilot dans la même FIFO 0. [[BR]] 1: dp2fifo, data FIFO 0, pilotes FIFO 1 || |
| 97 | || MASKIT || 0 || 1 || Si 1, IT non masquée || |
| 98 | || MASK_DATA || 64*32 bits || || Masque framing ou deframing || |
| 99 | || MASK_PILOT || 64*32 bits || || Masque framing ou deframing || |
| 100 | |
| 101 | |
| 102 | === 3.2) Adresses des paramètres === |
| 103 | Le cœur trx_ofdm peut contenir 3 configurations différentes, chacune rangé dans un SlotID différent. Ces SlotID sont des types de traitement que nous avons enregistré dans le cœur et que nous pouvons utiliser pour effectuer un traitement (FFT, IFFT, ...). Quand nous voulons effectuer un traitement, nous indiquons le SlotId à utiliser et ensuite nous envoyons les données. Etant donnée que le cœur trx_ofdm est en pipeline, nous pouvons démarrer un traitement avec une SlotId et ensuite démarrer un nouveau traitement avec une autre SlotId. |
| 104 | |
| 105 | Attention, il est interdit de changer la configuration d'un SlotID si celui-ci est en cours d'utilisation par le pipeline. |
| 106 | |
| 107 | Les plages d'adresses des SlotId sont: |
| 108 | ||SlotId 1 || 0x000 => 0x084 || |
| 109 | ||SlotId 2 || 0x100 => 0x184 || |
| 110 | ||SlotId 3 || 0x200 => 0x284 || |
| 111 | |
| 112 | Les adresses de configuration sont relatives à l'adresse du SlotId. |
| 113 | || Relative Address (slotid) || Name || Content || |
| 114 | || 0x0 || MASK_DATA_0 || mask_data 0 to 64 (32 bits) || |
| 115 | || ... || ... || || |
| 116 | || 0x3F || MASK_DATA_64 || || |
| 117 | || 0x40 || MASK_PILOT_0 || mask_pilot 0 to 64 || |
| 118 | || ... || ... || || |
| 119 | || 0x7F || MASK_PILOT_64 || || |
| 120 | || 0x80 || FFT_CFG || bypass_fft, fft_type, log2_size_fft, normalize_power_fft, shift_carrier, shift_parity || |
| 121 | || 0x81 || GI_CFG || gi_insertion, gi_size || |
| 122 | || 0x82 || FRAMING_CFG || floc || |
| 123 | || 0x83 || IT_CFG || mask_IT || |
| 124 | |