summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README36
1 files changed, 24 insertions, 12 deletions
diff --git a/README b/README
index 1d1be18..d3ab4c2 100644
--- a/README
+++ b/README
@@ -36,6 +36,12 @@ cpu/
The netlist for the CPU is generated by Caml code (and not MiniJazz code),
therefore this directory also contains Caml files for generating netlists
with Caml code (see `netlist_gen.mli` and `example_cpu.ml` for usage example).
+
+asm/
+ An assembler used to compile assembly files for the CPU. Produces ROM files
+ readable by the simulator.
+ $ cd asm/
+ $ make
monitor/
A C program used to monitor the simulator. The monitor has many functionnalities :
@@ -84,6 +90,10 @@ Compile the monitor :
$ cd monitor/; make; cd ..
+Compile the assembler :
+
+ $ cd asm/; make; cd ..
+
Run the CPU with the monitor :
$ cd cpu/; make
@@ -244,22 +254,25 @@ default stdin, but can be redirected from a file using the -in option) and of
writing the outputs at each step to a file (by default stdout, but can be
redirected with -out).
-The input format is extremely straightforward : at each step, read a line
-containing for each input variable, *in the order given in the program file*,
-either a binary value (represented by a series of bits given in the standard
-order), either a decimal value prefixed with a slash (/), which is then
-converted to binary according to the standard representation defined above.
-
-The output format contains at each step one line for each output variable, in
-the format :
-<variable name>\t<binary representation>\t<decimal representation>
-The output contains an empty line at the end of every cycle.
-
When the simulator is launched, it sends an output describing the I/O mechanism
of the simulated circuit :
<number of inputs> <number of outputs>\n
[for each input : <input size> <input name>\n]
+The input format is extremely straightforward : at each step, read a line
+begenning with the keyword FEED followed by, for each input variable, *in the
+order given in the program file*, either a binary value (represented by a series
+of bits given in the standard order), either a decimal value prefixed with a
+slash (/), which is then converted to binary according to the standard
+representation defined above.
+
+The output format contains at each step one line with the keyword FED, followed
+by one line for each output variable, in the format :
+
+ <variable name>\t<binary representation>\t<decimal representation>
+
+The output contains an empty line at the end of every cycle.
+
How ROMs are handled
--------------------
@@ -301,7 +314,6 @@ NEXT STEPS
----------
- Finish ALU
-- Code assembler
- Code basic OS for the CPU