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;} } }