source: liacs/ca/opdr2b/src/control.h@ 7

Last change on this file since 7 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
19typedef 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 */
24typedef struct {
25 address_t address;
26 control_t control;
27 control_cond_t cond;
28 micro_address_t jump;
29} microcode_t;
30
31typedef struct {
32 uint8_t ocode;
33 uint8_t fcode;
34 micro_address_t target;
35} decode_t;
36
37
38micro_address_t mpc;
39void set_signals();
40void find_new_mPC();
41void control_init();
42
43#endif
Note: See TracBrowser for help on using the repository browser.