TAMS / Java / Hades / applets: contents | previous | next | ||||
Hades Applets contents visual index introduction std_logic_1164 gatelevel circuits delay models flipflops adders and arithm... counters LFSR and selftest memories programmable logic state-machine editor misc. demos I/O and displays DCF-77 clock relays (switch-le... CMOS circuits (sw... RTLIB logic RTLIB registers latches registers counter shift-register 16-bit setta... ROM RAM DPRAM stack stack address-decoder byte- vs. wo... memory demo ALU (user-de... PIO 8255 PIO 8255 USART 8251 8251 text-to... 8251 transmi... 8251 databit... 8251 parity ... 8251 prescaler 8251 loopbac... 8251 loopbac... 8251 error d... microprogram full micropr... 1-address da... 3-address da... 2-address da... Prima processor D*CORE MicroJava Pic16 cosimulation Mips R3000 cosimu... Intel MCS4 (i4004) image processing ... [Sch04] Codeumsetzer [Sch04] Addierer [Sch04] Flipflops [Sch04] Schaltwerke [Sch04] RALU, Min... [Fer05] State-Mac... [Fer05] PIC16F84/... [Fer05] Miscellan... [Fer05] Femtojava FreeTTS | microprogrammed sequencer (external inputs) Circuit Description This applet demonstrates a microprogrammed control unit. As opposed to the previous circuit, this controller is not restricted to one fixed state sequence. Instead, the additional multiplexers allow data-dependent sequences and jumps in the microprogram. The S1,S0 outputs of the microprogram memory control the 4:1 multiplexer, which selects either the external input, the output of the 2:1 multiplexer, or either the X or Y microprogram outputs. Therefore, if a microprogram word generates (S1,S0) = (1,1), the external address input is used, which allows selecting any microprogram address from external logic. The most interesting situation occurs for (S1,S0) = (1,0), which selects the output of the 2:1 multiplexer as the next microprogram address. As the multiplexer is controlled by an external input (X0), this allows data-dependent jumps in the microprogram. For example, the X0 input is connected to the output of the C (carry) register in our D*CORE demonstration processor. Depending on whether or not the carry bit was set by previous data operations, the microprogram sequencer can select different next addresses, allowing to implement the branch-if-true and branch-if-false instructions in the processor. | |||
Print version | Run this demo in the Hades editor (via Java WebStart) | ||||
Usage | FAQ | About | License | Feedback | Tutorial (PDF) | Referenzkarte (PDF, in German) | ||||
Impressum | http://tams.informatik.uni-hamburg.de/applets/hades/webdemos/50-rtlib/70-sequencer/sequencer.html |