Added single automatic connection dialog + bugfixes

This commit is contained in:
Borna Rajković committed 2022-06-05 19:02:44 +02:00
1 parent 3172d7e4cf
commit 9b7ede933a
18 files changed
+253 -117

No files matched your search

@@ -1,54 +0,0 @@
// Version 0.0.1
#include "libraries\frisc\vjezba1\FRISC.cdl"
#include "libraries\frisc\vjezba1\memory.cdl"
component System
{
clock 100MHz;
//bus
wire<32> ADR;
wire<32> DATA;
wire READ;
wire WRITE;
wired_and WAIT;
wired_and INT0;
wired_and INT1;
wired_and INT2;
wired_and INT3;
wire<3> SIZE;
wire --IACK;
wire --BREQ;
wire --BACK;
// components --------------------------------------------
subcomponent Memorija mem<false, 1, 1024, 8, 1024>(ADR, DATA, READ, WRITE, SIZE, WAIT, 94534054858378, 0, null, null);
subcomponent FRISC procesor_002(ADR, DATA, READ, WRITE, SIZE, WAIT, INT0, INT1, INT2, INT3, --IACK, 1, *, 94534054858378, 0, null, null);
subcomponent FRISC procesor_001(ADR, DATA, READ, WRITE, SIZE, WAIT, INT0, INT1, INT2, INT3, --IACK, 1, *, 94534054858378, 0, null, null);
subcomponent FRISC procesor_000(ADR, DATA, READ, WRITE, SIZE, WAIT, INT0, INT1, INT2, INT3, --IACK, 1, *, 94534054858378, 0, null, null);
subcomponent FRISC procesor(ADR, DATA, READ, WRITE, SIZE, WAIT, INT0, INT1, INT2, INT3, --IACK, 1, *, 94534054858378, 0, null, null);
display {
component { x: 0; y: 0; ref: "procesor_002"; }
component { x: 0; y: 250; ref: "mem"; }
component { x: -89; y: 74; ref: "procesor_001"; }
component { x: -175; y: 195; ref: "procesor_000"; }
component { x: -195; y: 63; ref: "procesor"; }
// bus bus
rectangle {
x: 0; y: 200;
w: 100; h: 20;
}
line {x1:50; y1:116; x2:50; y2:210;}
line {x1:50; y1:234; x2:50; y2:210;}
line {x1:-39; y1:190; x2:50; y2:210;}
line {x1:-145; y1:179; x2:50; y2:210;}
line {x1:-125; y1:311; x2:50; y2:210;}
}
}
@@ -8,13 +8,12 @@
@address pomocniAS(0xFFFF0000,0xFFFFFFFF)
@messages {
Ok: "OK";
Yes: "Da";
No: "Ne";
Cancel: "Otkaži";
ok: "OK";
yes: "Da";
no: "Ne";
cancel: "Odustani";
noneBusLine: "nespojen";
noneValue: "nema vrijednosti";
generalPinNotConnected: "Opći pin nije spojen niti na jednu sabirnicu";
}
@component FRISC processor {
@@ -229,7 +228,7 @@
@title "Početna adresa DMA-kontrolera"
@text "Zadajte početnu adresu DMA-kontrolera"
@rule {
if(contains_address(glavniAS, pocetnaAdresa)) {
if(!contains_address(glavniAS, pocetnaAdresa)) {
error("Početna adresa memorije je izvan 32 bitnog adresnog prostora")
}
}
@@ -239,7 +238,7 @@
}
}
@rule {
if(unique(glavniAS, pocetnaAdresa, 32)) {
if(!unique(glavniAS, pocetnaAdresa, 32)) {
error("Adrese memorije nisu jedinstvene u adresnom prostoru (preklapaju se s nekom drugom komponentom)")
}
}
@@ -344,7 +343,7 @@
}
}
@bus directRam automatic {
@bus directRam singleAutomatic {
@instanceName directRam
@wires {
INT
@@ -381,6 +380,19 @@
}
@connection (FRISC.memDirect, directRam, Memorija.memDirect) {
@wires{INT}
@wires{INT}
@attribute procConn string default "INT" {
@popup automatic {
@title "Frisc INT"
@text "Processor interupt 1"
}
}
@attribute memConn string default "INT" {
@popup automatic {
@title "Mem INT"
@text "Memory interupt 1"
}
}
@wires{"INT", null, 1, "INT2"}
@wires{"INT", null, 1, "INT2"}
}
+21 -6
View File
@@ -2,13 +2,28 @@
@schema {
@instance procesor FRISC {
@position (-112, -89)
@attribute _memory memorija2
@position (-464, -314)
@attribute _memory null
}
@instance procesor FRISC {
@position (112, -89)
@attribute _memory null
}
@instance dma DMA {
@position (-269, 46)
@attribute pocetnaAdresa 0
}
@instance glavnaSabirnica glavnaSabirnica {
@position (-579, -160)
@size 100
}
@instance PIOSabirnica PIOSabirnica {
@position (0, 0)
@size 0
}
@connection (dma.glavniPin, glavnaSabirnica) {
@attribute interupt INT2
}
@connection (dma.glavniPin, PIOSabirnica, procesor.glavniPin) {
}
}