URL
https://opencores.org/ocsvn/amber/amber/trunk
Subversion Repositories amber
Compare Revisions
- This comparison shows the changes necessary to convert path
/amber
- from Rev 42 to Rev 43
- ↔ Reverse comparison
Rev 42 → Rev 43
/trunk/doc/amber-spec.pdf
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sw/vmlinux/initrd
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sw/vmlinux/patch-2.4.27-amber2.bz2
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sw/vmlinux/README.txt
114,7 → 114,7
mknod ${LINUX_WORK_DIR}/mnt/dev/loop0 b 7 0 |
chmod 600 ${LINUX_WORK_DIR}/mnt/dev/* |
|
cp $AMBER_BASE/sw/hello-world/hello-world.elf ${LINUX_WORK_DIR}/mnt/sbin/init |
cp $AMBER_BASE/sw/hello-world/hello-world.flt ${LINUX_WORK_DIR}/mnt/sbin/init |
chmod +x ${LINUX_WORK_DIR}/mnt/sbin/init |
|
# Check |
122,6 → 122,7
|
# Unmount |
umount ${LINUX_WORK_DIR}/mnt |
rm -rf ${LINUX_WORK_DIR}/mnt |
exit |
|
cp initrd $AMBER_BASE/sw/vmlinux |
/trunk/sw/include/common.mk
58,6 → 58,7
MMP128 = $(addsuffix _memparams128.v, $(basename $(TGT))) |
MEM = $(addsuffix .mem, $(basename $(TGT))) |
DIS = $(addsuffix .dis, $(basename $(TGT))) |
FLT = $(addsuffix .flt, $(basename $(TGT))) |
|
ifdef USE_MINI_LIBC |
OBJ = $(addsuffix .o, $(basename $(SRC))) $(LIBC_OBJ) |
65,7 → 66,6
OBJ = $(addsuffix .o, $(basename $(SRC))) |
endif |
|
|
ifdef LDS |
TLDS = -T $(LDS) |
else |
91,7 → 91,6
DSFLAGS = -C -S -EL |
LDFLAGS = -Bstatic -Map $(MAP) --strip-debug --fix-v4bx |
|
|
ifdef USE_MINI_LIBC |
debug: mini-libc $(ELF) $(MMP32) $(MMP128) $(DIS) |
else |
108,6 → 107,9
$(ELF) $(TGT) > $(MEM) |
|
$(TGT): $(OBJ) |
ifdef CREATE_FLT_OUTPUT |
$(LD) $(LDFLAGS) -elf2flt=-v -elf2flt=-k -o $(FLT) $(TLDS) $(OBJ) |
endif |
$(LD) $(LDFLAGS) -o $(TGT) $(TLDS) $(OBJ) |
$(OC) -R .comment -R .note $(TGT) |
|
123,5 → 125,5
$(DS) $(DSFLAGS) $^ > $@ |
|
clean: |
@rm -rfv *.o *.elf *.dis *.map *.mem *.v $(MMP32) $(MMP128) |
@rm -rfv *.o *.elf *.flt *.gdb *.dis *.map *.mem *.v $(MMP32) $(MMP128) |
|
/trunk/sw/boot-loader/fpga-version.h
1,5 → 125,5
#define AMBER_FPGA_VERSION "20091027145749" |
#define AMBER_FPGA_VERSION "20091124203711" |
/trunk/sw/boot-loader/boot-loader.c
243,7 → 243,7
void load_run( int type, unsigned int address ) |
{ |
int file_size; |
char * message = "Send file w/ 1K Xmodem protocol from terminal emulator now...\n"; |
char * message = "Send file w/ 1K Xmodem protocol from terminal emulator now..."; |
|
/* testing tyhe boot loader itself in simulation */ |
if ( type == 2 ) { |
256,7 → 256,7
/* Load a file but don't run it */ |
else if ( type == 1 ) { |
/* Load a file using the xmodem protocol */ |
printf ("%s", message); |
printf ("%s\n", message); |
|
/* Destination, Destination Size */ |
file_size = xmodemReceive((char *) FILE_LOAD_BASE, FILE_MAX_SIZE); |
278,7 → 278,7
/* Load a binary file into memory */ |
else if ( type == 5 ) { |
/* Load a file using the xmodem protocol */ |
printf ("%s", message); |
printf ("%s\n", message); |
/* Destination, Destination Size */ |
file_size = xmodemReceive((char *) address, FILE_MAX_SIZE); |
if (file_size < 0 || file_size > FILE_MAX_SIZE) { |
/trunk/sw/hello-world/sections.lds
48,36 → 48,16
|
SECTIONS { |
|
. = 0x0080e400; |
. = 0x00000000; |
|
.text : { start*(.text); *(.text); } |
|
._start : |
{ |
start*(.text) |
} |
|
.text : |
{ |
*(.text) |
} |
.data : { *(.data); } |
|
.rodata : { *(.rodata); } |
|
.rodata : |
{ |
*(.rodata) |
} |
.bss : { *(.bss); } |
|
.data : |
{ |
*(.data) |
} |
.stack : { __stack = . ; } |
|
.bss : |
{ |
*(.bss) |
} |
|
.stack : |
{ |
__stack = . ; |
} |
|
} |
/trunk/sw/hello-world/Makefile
45,5 → 45,6
LDS = sections.lds |
|
USE_MINI_LIBC = 1 |
CREATE_FLT_OUTPUT = 1 |
|
include ../include/common.mk |
/trunk/sw/hello-world/start.S
68,6 → 68,8
AdrStack: .word 0x8000000 |
|
|
.section .bss |
.word 0x0 |
/* ========================================================================= */ |
/* ========================================================================= */ |
|
trunk/sw/hello-world
Property changes :
Modified: svn:ignore
## -2,4 +2,6 ##
*.mem
*.dis
*.elf
-*_memparams.v
+*.flt
+*.gdb
+*_memparams*.v
Index: trunk/hw/vlog/system/clocks_resets.v
===================================================================
--- trunk/hw/vlog/system/clocks_resets.v (revision 42)
+++ trunk/hw/vlog/system/clocks_resets.v (revision 43)
@@ -167,7 +167,7 @@
(
.CLKIN1_PERIOD ( 5 ), // 200 MHz
.CLKOUT2_DIVIDE ( `AMBER_CLK_DIVIDER ),
- .CLKFBOUT_MULT_F ( 5 ) // 200 MHz x 5 = 1000 MHz
+ .CLKFBOUT_MULT_F ( 6 ) // 200 MHz x 6 = 1200 MHz
)
u_pll_adv
(
Index: trunk/hw/vlog/system/system_config_defines.v
===================================================================
--- trunk/hw/vlog/system/system_config_defines.v (revision 42)
+++ trunk/hw/vlog/system/system_config_defines.v (revision 43)
@@ -55,7 +55,11 @@
//
// Note that for FPGA synthesis this value is overridden
// by a value specified in $AMBER_BASE/hw/fpga/bin/Makefile
-`define AMBER_CLK_DIVIDER 20
+`ifdef XILINX_VIRTEX6_FPGA
+ `define AMBER_CLK_DIVIDER 13
+`else
+ `define AMBER_CLK_DIVIDER 20
+`endif
// Specify a device, if none defined then the
// generic library is used which is the fastest for simulations
/trunk/hw/vlog/amber23/a23_config_defines.v
49,7 → 49,7
// 3 ways -> 12KB cache |
// 4 ways -> 16KB cache |
// 8 ways -> 32KB cache |
`define A23_CACHE_WAYS 8 |
`define A23_CACHE_WAYS 4 |
|
// -------------------------------------------------------------------- |
// Debug switches |
/trunk/hw/sim/run_log_a23.do
1,7 → 1,7
log -r /tb/u_system/u_amber/u_fetch/* |
log -r /tb/u_system/u_amber/u_execute/* |
log -r /tb/u_system/u_amber/u_decode/* |
log /tb/u_system/u_amber/u_execute/u_register_bank/* |
log /tb/u_system/u_amber/u_decode/* |
|
log /tb/clk_count |
log /tb/u_system/u_uart0/i_uart_rxd |
/trunk/hw/fpga/bin/Makefile
71,7 → 71,7
# For Spartan-6 divide 800MHz by this number to get the frequency |
# e.g. AMBER_CLK_DIVIDER=24 |
# 800 MHz / 24 = 33.33 MHz |
# For Virtex-6 divide 1000MHz by this number to get the frequency |
# For Virtex-6 divide 1200MHz by this number to get the frequency |
|
# Select either the A23 or A25 core |
ifdef A25 |
85,7 → 85,7
ifdef VIRTEX6 |
# Virtex-6 device |
XILINX_FPGA = xc6vlx75tff784-3 |
XST_DEFINES = XILINX_FPGA XILINX_VIRTEX6_FPGA $(AMBER_CORE) AMBER_CLK_DIVIDER=12 |
XST_DEFINES = XILINX_FPGA XILINX_VIRTEX6_FPGA $(AMBER_CORE) AMBER_CLK_DIVIDER=15 |
# Xilinx placement and timing constraints |
XST_CONST_FILE = xv6_constraints.ucf |
# List of verilog source files for Xilinx Virtex-6 device |
93,7 → 93,7
else |
# The spartan6 device used on SP605 Development board |
XILINX_FPGA = xc6slx45tfgg484-3 |
XST_DEFINES = XILINX_FPGA XILINX_SPARTAN6_FPGA $(AMBER_CORE) AMBER_CLK_DIVIDER=18 |
XST_DEFINES = XILINX_FPGA XILINX_SPARTAN6_FPGA $(AMBER_CORE) AMBER_CLK_DIVIDER=20 |
# Xilinx placement and timing constraints |
XST_CONST_FILE = xs6_constraints.ucf |
# List of verilog source files for Xilinx Spartan-6 device |
236,20 → 236,20
# ---------------------------------------------------- |
$(WORK_FOLDER)/$(RTL_TOP).map.ncd : $(WORK_FOLDER)/$(RTL_TOP).ngd |
cd $(WORK_FOLDER); \ |
map -intstyle xflow \ |
-p $(XILINX_FPGA) \ |
-ol high \ |
-t $(MAP_SEED) \ |
-w \ |
-ignore_keep_hierarchy \ |
-detail \ |
-timing \ |
-register_duplication \ |
-lc auto \ |
-xe c -mt off -ir off \ |
-pr off -power off \ |
-o $(RTL_TOP).map.ncd \ |
$(RTL_TOP).ngd \ |
map -intstyle xflow \ |
-p $(XILINX_FPGA) \ |
-ol high \ |
-t $(MAP_SEED) \ |
-w \ |
-ignore_keep_hierarchy \ |
-detail \ |
-timing \ |
-register_duplication on \ |
-lc auto \ |
-xe c -mt off -ir off \ |
-pr off -power off \ |
-o $(RTL_TOP).map.ncd \ |
$(RTL_TOP).ngd \ |
$(RTL_TOP).pcf |
cp $(WORK_FOLDER)/$(RTL_TOP).map.mrp $(LOG_FOLDER)/$(RTL_TOP).map.$(RUN_ID).mrp |
|
trunk/hw/fpga
Property changes :
Modified: svn:ignore
## -1,3 +1,4 ##
bitfiles
work0
+work1
logs