Correct compilation orders are described in a script but here
are some informations for the developers.
As of Tue Jun 25 18:01:48 CEST 2002, the core's compilation order is :

0) run f-cpu/configure (just in case)

1) compile the configuration files :
 configuration/f-cpu_config.vhdl 
 configuration/f-cpu_opcodes.vhdl 
 configuration/clock_config.vhdl

2) compile the common files :
 common/bit_manipulation.vhdl
 common/generic_adder.vhdl
 common/fanout.vhdl
 common/fanout_linear.vhdl (if your tool accepts it)
 common/misc.vhdl
 common/random.vhdl         then
 common/random_file.vhdl   if your tool accepts it, or
 common/random_clear.vhdl  otherwise.

3) compile the execution units :
 A) Control units :
   a) clock unit :
    clock/clock.vhdl (generic, internal clock)  and
    clock/clock_powerup.vhdl
        (optional, for behavioural simulation only)

   b) scheduler :  (not finished)
    scheduler/scheduler_definitions.vhdl
                (should be moved to configuration/)
    scheduler/decoding_table.vhdl
    scheduler/scheduler_issue.vhdl
    scheduler/scheduler_queue.vhdl

   c) register set :
    registers/sram3r2w.vhdl
    registers/sram3r2w_simple.vhdl
    registers/sram1r2w.vhdl
    registers/register_set.vhdl

   d) Xbar, TLB, LSU, fetcher : not ready

 B) Execution units :
   a) ROP2 :
    eu_rop2/rop2_unit.vhdl
    eu_rop2/rop2_xbar.vhdl
   b) eu_asu
    eu_asu/iadd.vhdl
    eu_asu/asu.vhdl
   c) eu_bist : not implemented
   d) eu_idu : preliminary version by Cdric Bail exists
   e) eu_imu
    eu_imu/imul64.vhdl
    eu_imu/imu.vhdl
   f) eu_inc : Etienne Labarre is working on it
   g) eu_lsu : empty
   h) eu_popc : empty
   j) eu_shl :
     eu_shl/shuffle64.vhdl (?)
   k) eu_sr : 
    eu_sr/eu_sr.vhdl (compiles under Simili
           but it's old and not functional)

4) top level : not yet ready.

Additionally, each unit and directory should contain a set of
verification scripts. Individual tests are performed by running
"test.sh" in the corresponding directory.
