mirror of
https://github.com/antonblanchard/microwatt.git
synced 2026-01-11 23:43:15 +00:00
acorn-cle-215: Implement SMP and enable FPU and BTC
The four LEDs on the Acorn-CLE-215 (Nitefury) board become run lights for the first four CPUs. Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
This commit is contained in:
parent
ce5a967ac2
commit
0bf1dcedbd
@ -10,6 +10,7 @@ use work.wishbone_types.all;
|
||||
|
||||
entity toplevel is
|
||||
generic (
|
||||
CPUS : natural := 1;
|
||||
MEMORY_SIZE : integer := 16384;
|
||||
RAM_INIT_FILE : string := "firmware.hex";
|
||||
CLK_FREQUENCY : positive := 100000000;
|
||||
@ -66,6 +67,9 @@ architecture behaviour of toplevel is
|
||||
-- Internal clock
|
||||
signal ext_clk : std_ulogic;
|
||||
|
||||
-- Status
|
||||
signal run_outs : std_ulogic_vector(CPUS-1 downto 0);
|
||||
|
||||
-- Reset signals:
|
||||
signal soc_rst : std_ulogic;
|
||||
signal pll_rst : std_ulogic;
|
||||
@ -124,6 +128,7 @@ begin
|
||||
MEMORY_SIZE => BRAM_SIZE,
|
||||
RAM_INIT_FILE => RAM_INIT_FILE,
|
||||
SIM => false,
|
||||
NCPUS => CPUS,
|
||||
CLK_FREQ => CLK_FREQUENCY,
|
||||
HAS_DRAM => USE_LITEDRAM,
|
||||
DRAM_SIZE => 1024 * 1024 * 1024,
|
||||
@ -141,6 +146,7 @@ begin
|
||||
-- System signals
|
||||
system_clk => system_clk,
|
||||
rst => soc_rst,
|
||||
run_outs => run_outs,
|
||||
|
||||
-- UART signals
|
||||
uart0_txd => uart_tx,
|
||||
@ -223,10 +229,10 @@ begin
|
||||
pll_locked_out => system_clk_locked
|
||||
);
|
||||
|
||||
led0 <= soc_rst;
|
||||
led1 <= pll_rst;
|
||||
led2 <= not system_clk_locked;
|
||||
led3 <= '0';
|
||||
led0 <= run_outs(0);
|
||||
led1 <= run_outs(1) when CPUS > 1 else pll_rst;
|
||||
led2 <= run_outs(2) when CPUS > 2 else not system_clk_locked;
|
||||
led3 <= run_outs(3) when CPUS > 3 else '0';
|
||||
|
||||
-- Vivado barfs on those differential signals if left
|
||||
-- unconnected. So instanciate a diff. buffer and feed
|
||||
|
||||
@ -197,6 +197,7 @@ targets:
|
||||
default_tool: vivado
|
||||
filesets: [core, acorn_cle_215, soc, fpga, debug_xilinx, litedram, uart16550, xilinx_specific]
|
||||
parameters :
|
||||
- cpus
|
||||
- memory_size
|
||||
- ram_init_file
|
||||
- use_litedram=true
|
||||
@ -205,6 +206,8 @@ targets:
|
||||
- spi_flash_offset=10485760
|
||||
- log_length=2048
|
||||
- uart_is_16550
|
||||
- has_fpu
|
||||
- has_btc
|
||||
generate: [litedram_acorn_cle_215, git_hash]
|
||||
tools:
|
||||
vivado: {part : xc7a200tsbg484-2}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user