7 | | class VgmnNoirqMono(SoclibGenericArchitecture): |
8 | | def architecture(self): |
9 | | |
10 | | # Définition des segments |
11 | | |
12 | | cram0 = Segment("cram0", Cached) |
13 | | uram0 = Segment("uram0", Uncached) |
14 | | cram1 = Segment("cram1", __remplir__) |
15 | | uram1 = Segment("uram1", __remplir__) |
16 | | reset = Segment("reset", Cached, addr = 0xbfc00000) |
17 | | excep = Segment("excep", Cached, addr = __remplir__) |
18 | | |
19 | | # Instanciation des composants matériels |
20 | | |
21 | | vgmn = Vgmn("vgmn",__remplir__) |
22 | | xcache = Xcache("xcache", __remplir__) |
23 | | processor = Mips("processor") |
24 | | tty = MultiTty("tty", __remplir__) |
25 | | ram0 = MultiRam("ram0", cram0, uram0, excep) |
26 | | ram1 = MultiRam("ram0", __remplir__) |
27 | | locks = Locks("locks") |
28 | | |
29 | | # Définition de la net-list (connexions) |
30 | | |
31 | | processor.cache // xcache.cache |
32 | | xcache.vci // vgmn.getTarget() |
33 | | tty.vci // vgmn.getInit() |
34 | | ram0.vci // __remplir__ |
35 | | ram1.vci // __remplir__ |
36 | | locks.vci // __remplir__ |
37 | | tty.irq[0] // processor.irq[0] |
| 23 | vgmn = pf.create('caba:vci_vgmn', 'vgmn0', *** remplir ***) |
43 | | # Exportation des variables locales |
44 | | |
45 | | self.cram0 = cram0 |
46 | | self.uram0 = uram0 |
47 | | self.cram1 = cram1 |
48 | | self.uram1 = uram1 |
49 | | self.reset = reset |
50 | | self.excep = excep |
51 | | |
52 | | self.vgmn = vgmn |
53 | | self.xcache = xcache |
54 | | self.processor = processor |
55 | | self.tty = tty |
56 | | self.locks = locks |
57 | | self.ram0 = ram0 |
58 | | self.ram1 = ram1 |
| 36 | for i in range(2): |
| 37 | ram = pf.create('caba:vci_ram', 'ram%d'%i) |
| 38 | base = 0x10000000*i+0x10000000 |
| 39 | ram.addSegment('cram%d'%i, base, 0x100000, True) |
| 40 | ram.addSegment('uram%d'%i, base + 0x200000, 0x100000, False) |
| 41 | ram.vci // vgmn.to_target.new() |
| 42 | ram.addSegment('boot', *** remplir ***) # Mips boot address, 0x100 octets, cacheable |
| 43 | ram.addSegment('excep', *** remplir ***) # Mips exception address, 0x100 octets, cacheable |