Last change
on this file since 386 was 2, checked in by Rick van der Zwet, 15 years ago |
Initial import of data of old repository ('data') worth keeping (e.g. tracking
means of URL access statistics)
|
-
Property svn:executable
set to
*
|
File size:
858 bytes
|
Line | |
---|
1 | /* Author : Rick van der Zwet
|
---|
2 | * S-number : 0433373
|
---|
3 | * Version : $Id: control.h 363 2007-12-03 06:07:31Z rick $
|
---|
4 | * Copyright : FreeBSD Licence
|
---|
5 | * Description : Memory unit header
|
---|
6 | */
|
---|
7 |
|
---|
8 | #ifndef CONTROL_H
|
---|
9 | #define CONTROL_H
|
---|
10 |
|
---|
11 | #include "sim.h"
|
---|
12 | #include "alu.h"
|
---|
13 | #include "memory.h"
|
---|
14 | #include "imm.h"
|
---|
15 | #include "constant.h"
|
---|
16 | #include "datapath.h"
|
---|
17 |
|
---|
18 |
|
---|
19 | typedef enum { NEXT, UNCOND, MEMBUSY, DECODE1, DECODE2, DECODE3,
|
---|
20 | ZEROVALUE, NEGVALUE, RTYPEIR } control_cond_t;
|
---|
21 |
|
---|
22 |
|
---|
23 | /* XXX: Not that effient, might be the use of bitfields */
|
---|
24 | typedef struct {
|
---|
25 | address_t address;
|
---|
26 | control_t control;
|
---|
27 | control_cond_t cond;
|
---|
28 | micro_address_t jump;
|
---|
29 | } microcode_t;
|
---|
30 |
|
---|
31 | typedef struct {
|
---|
32 | uint8_t ocode;
|
---|
33 | uint8_t fcode;
|
---|
34 | micro_address_t target;
|
---|
35 | } decode_t;
|
---|
36 |
|
---|
37 |
|
---|
38 | micro_address_t mpc;
|
---|
39 | void set_signals();
|
---|
40 | void find_new_mPC();
|
---|
41 | void control_init();
|
---|
42 |
|
---|
43 | #endif
|
---|
Note:
See
TracBrowser
for help on using the repository browser.