75 lines
1.7 KiB
Plaintext
75 lines
1.7 KiB
Plaintext
|
set load_performs_init;
|
||
|
#include "\arm7tdmi.comdel"
|
||
|
#include "\bridge.comdel"
|
||
|
#include "\decoder.comdel"
|
||
|
#include "\memory.comdel"
|
||
|
|
||
|
|
||
|
|
||
|
component System
|
||
|
{
|
||
|
clock 100MHz;
|
||
|
//ahb
|
||
|
wire<32> addr;
|
||
|
wire<32> rdata;
|
||
|
wire<32> wdata;
|
||
|
wire<3> size;
|
||
|
wire write;
|
||
|
wired_or ready;
|
||
|
wired_or irq;
|
||
|
wired_or fiq;
|
||
|
wired_and nmreq;
|
||
|
wire --sel_mem;
|
||
|
wire sel_bridge;
|
||
|
wire sel_dmac;
|
||
|
|
||
|
|
||
|
//apb
|
||
|
wire<32> apb__addr;
|
||
|
wire<32> apb__rdata;
|
||
|
wire<32> apb__wdata;
|
||
|
wire<3> --apb__size;
|
||
|
wire enable;
|
||
|
wire apb__write;
|
||
|
wire sel_gpio_1;
|
||
|
wire sel_gpio_2;
|
||
|
wire sel_ui_in;
|
||
|
wire sel_rtc;
|
||
|
wire sel_ui_out;
|
||
|
|
||
|
|
||
|
// components --------------------------------------------
|
||
|
subcomponent Memory64KiB memorija(addr, rdata, wdata, size, write, ready, --sel_mem);
|
||
|
subcomponent Bridge bridge(addr, rdata, wdata, size, write, ready, sel_bridge, apb__addr, apb__rdata, apb__wdata, --apb__size, enable, apb__write, sel_gpio_1, sel_gpio_2, sel_rtc, sel_ui_in, sel_ui_out, 1, 1, 1, 1, 1);
|
||
|
subcomponent ARM7tdmi arm(addr, rdata, wdata, size, write, ready, irq, fiq, nmreq, *, *) uses memorija;
|
||
|
subcomponent Decoder decoder(addr, nmreq, --sel_mem, sel_bridge, sel_dmac, 1, 1);
|
||
|
|
||
|
display {
|
||
|
component { x: -222; y: -97; ref: "bridge"; }
|
||
|
component { x: -473; y: -283; ref: "arm"; }
|
||
|
component { x: -433; y: 6; ref: "memorija"; }
|
||
|
component { x: -323; y: -217; ref: "decoder"; }
|
||
|
|
||
|
// ahb bus
|
||
|
|
||
|
rectangle {
|
||
|
x: -514; y: -86;
|
||
|
w: 249; h: 20;
|
||
|
}
|
||
|
|
||
|
|
||
|
// apb bus
|
||
|
|
||
|
rectangle {
|
||
|
x: -111; y: -81;
|
||
|
w: 329; h: 20;
|
||
|
}
|
||
|
|
||
|
|
||
|
line {x1:-222; y1:-77; x2:-389; y2:-75;}
|
||
|
line {x1:-162; y1:-77; x2:54; y2:-70;}
|
||
|
line {x1:-428; y1:6; x2:-389; y2:-75;}
|
||
|
line {x1:-418; y1:-152; x2:-389; y2:-75;}
|
||
|
line {x1:-303; y1:-187; x2:-389; y2:-75;}
|
||
|
}
|
||
|
}
|