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

Last change on this file since 219 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
RevLine 
[2]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.