71 | | Puisqu'en TLM-DT, les connexions multi-points sont interdites, on instancie deux pseudo-composants matériels |
72 | | '''!VciBlackhole''' possédant le nombre de ports nécéssaires pour connecter les ports inutilisés des composants processeurs et ICU: |
| 72 | Puisqu'en TLM-DT, les connexions multi-points sont interdites, on instancie des pseudo-composants matériels |
| 73 | '''!VciBlackhole''' possédant le nombre de ports nécessaires pour connecter les ports inutilisés. |
| 74 | |
| 75 | Pour ce qui concerne les 3 ports inutilisés du composant ICU IRQ_IN[3:1], on instancie donc un composant de type '''!VciBlackHole''' , nommé ''fake_irq_in'', |
| 76 | possédant 3 ports de sortie '''p_socket[k]''': |
75 | | VciBlackhole<tlm::tlm_initiator_socket<> >* fake; |
76 | | fake[0] = new VciBlackhole<tlm::tlm_initiator_socket<> >("fake_0", 6); |
77 | | fake[1] = new VciBlackhole<tlm::tlm_initiator_socket<> >("fake_1", 6); |
78 | | fake[2] = new VciBlackhole<tlm::tlm_initiator_socket<> >("fake_2", 7); |
79 | | fake[3] = new VciBlackhole<tlm::tlm_initiator_socket<> >("fake_3", 7); |
| 79 | VciBlackhole<tlm::tlm_initiator_socket<> >* fake_irq_in; |
| 80 | fake_irq_in = new VciBlackhole<tlm::tlm_initiator_socket<> >("fake_irq_in", 3); |
82 | | Dans l'exemple ci-dessous, la variable ''fake'' est un tableau de 4 pointeurs. Chacun de ces pointeurs fake[i] pointe sur un module de type ''VciBlakhole'' possédant le nom ''fake_i'', et possédant soit 6 ports, soit 7 ports. |
83 | | On connecte ensuite ces ports '''p_socket[i]''' de ces pseudo-composants aux ports inutilisés du processeur ou de l'ICU: |
| 83 | Pour ce qui concerne Les 5 ports inutilisés de chacun des 4 processeurs, on instancie, pour chaque processeur P[i], un composant de type |
| 84 | '''!VciBlackHole''', nommé '''fake_irq_out[i]''', possédant 5 ports de sortie p_socket[k]'': |
86 | | for( size_t n = 0 ; n <5 ; n++) (*mips0.p_irq[n+1])(*fake0.p_socket[n]); |
| 87 | VciBlackhole<tlm::tlm_initiator_socket<> >* fake_irq_out[4]; |
| 88 | fake_irq_out[0] = new VciBlackhole<tlm::tlm_initiator_socket<> >("fake_irq_out_0", 5); |
| 89 | fake_irq_out[1] = new VciBlackhole<tlm::tlm_initiator_socket<> >("fake_irq_out_1", 5); |
| 90 | fake_irq_out[2] = new VciBlackhole<tlm::tlm_initiator_socket<> >("fake_irq_out_2", 5); |
| 91 | fake_irq_out[3] = new VciBlackhole<tlm::tlm_initiator_socket<> >("fake_irq_out_3", 5); |