[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r6814 - in gnuradio/branches/developers/matt/u2f/openc
From: |
matt |
Subject: |
[Commit-gnuradio] r6814 - in gnuradio/branches/developers/matt/u2f/opencores/aemb: sim/verilog sim/verilog/CVS sw sw/CVS sw/c sw/c/CVS |
Date: |
Sun, 4 Nov 2007 17:43:51 -0700 (MST) |
Author: matt
Date: 2007-11-04 17:43:50 -0700 (Sun, 04 Nov 2007)
New Revision: 6814
Modified:
gnuradio/branches/developers/matt/u2f/opencores/aemb/sim/verilog/CVS/Entries
gnuradio/branches/developers/matt/u2f/opencores/aemb/sim/verilog/testbench.v
gnuradio/branches/developers/matt/u2f/opencores/aemb/sw/CVS/Entries
gnuradio/branches/developers/matt/u2f/opencores/aemb/sw/c/CVS/Entries
gnuradio/branches/developers/matt/u2f/opencores/aemb/sw/c/aeMB_testbench.c
gnuradio/branches/developers/matt/u2f/opencores/aemb/sw/gccrom
Log:
catching up with the latest
Modified:
gnuradio/branches/developers/matt/u2f/opencores/aemb/sim/verilog/CVS/Entries
===================================================================
---
gnuradio/branches/developers/matt/u2f/opencores/aemb/sim/verilog/CVS/Entries
2007-11-05 00:43:29 UTC (rev 6813)
+++
gnuradio/branches/developers/matt/u2f/opencores/aemb/sim/verilog/CVS/Entries
2007-11-05 00:43:50 UTC (rev 6814)
@@ -1,3 +1,4 @@
/utestbench.v/1.1/Fri Apr 13 13:02:34 2007//
-/testbench.v/1.5/Thu May 31 04:09:14 2007//
+/edk32.v/1.2/Fri Nov 2 19:16:10 2007//
+/testbench.v/1.6/Sat Nov 3 19:53:44 2007//
D
Modified:
gnuradio/branches/developers/matt/u2f/opencores/aemb/sim/verilog/testbench.v
===================================================================
---
gnuradio/branches/developers/matt/u2f/opencores/aemb/sim/verilog/testbench.v
2007-11-05 00:43:29 UTC (rev 6813)
+++
gnuradio/branches/developers/matt/u2f/opencores/aemb/sim/verilog/testbench.v
2007-11-05 00:43:50 UTC (rev 6814)
@@ -1,5 +1,5 @@
/*
- * $Id: testbench.v,v 1.5 2007/05/30 18:44:45 sybreon Exp $
+ * $Id: testbench.v,v 1.6 2007/10/22 19:13:46 sybreon Exp $
*
* AEMB Generic Testbench
* Copyright (C) 2004-2007 Shawn Tan Ser Ngiap <address@hidden>
@@ -24,6 +24,9 @@
*
* HISTORY
* $Log: testbench.v,v $
+ * Revision 1.6 2007/10/22 19:13:46 sybreon
+ * Made some changes to the interrupt control. In some cases, the interrupt
logic waits forever and doesn't execute. Bug was discovered by M. Ettus.
+ *
* Revision 1.5 2007/05/30 18:44:45 sybreon
* Added interrupt support.
*
@@ -56,12 +59,12 @@
always #5 sys_clk_i = ~sys_clk_i;
initial begin
- //$dumpfile("dump.vcd");
- //$dumpvars(1,dut);
+ $dumpfile("dump.vcd");
+ $dumpvars(1,dut);
end
initial begin
- inttime = ($random % 143 * 7) + 2000;
+ inttime = ($random % 143 * 7) + 3210;
svc = 0;
sys_clk_i = 1;
sys_rst_i = 0;
@@ -134,7 +137,13 @@
// Time
$write("\nT: ",($stime / 10));
-
+
+ $writeh("\t(",dut.control.rFSM,")", dut.rATOM);
+ $writeh("\t [",{dut.regfile.rPC_[13:2],2'd0},"]",{dut.frun,dut.drun});
+
+ $writeh("\t {",dut.aslu.rMSR_C,",",dut.aslu.rMSR_IE,",",dut.rMXALU,"}");
+ $writeo(dut.rOPC);
+
// Data Monitors
if (iwb_stb_o & iwb_ack_i)
$writeh("\t @",iwb_adr_o,":",iwb_dat_i);
@@ -157,9 +166,9 @@
if (dwb_we_o & (dwb_dat_o == "RTNI")) begin
sys_int_i = 0;
end
- if (dut.control.rFSM == 2'o1) begin
+ if (dut.control.rFSM[2]) begin
$writeh("\tINTR: ",(($stime-inttime)/10), " cycles");
- inttime = ($random % 181 * 11) + $stime + 5000;
+ inttime = ($random % 181 * 11) + $stime + 5430;
svc = 1;
end
@@ -178,7 +187,7 @@
aeMB_core #(ISIZ,DSIZ)
dut (
- .sys_int_i(sys_int_i),.sys_exc_i(sys_exc_i),
+ .sys_int_i(sys_int_i),//.sys_exc_i(sys_exc_i),
.dwb_ack_i(dwb_ack_i),.dwb_stb_o(dwb_stb_o),.dwb_adr_o(dwb_adr_o),
.dwb_dat_o(dwb_dat_o),.dwb_dat_i(dwb_dat_i),.dwb_we_o(dwb_we_o),
.dwb_sel_o(dwb_sel_o),
Modified: gnuradio/branches/developers/matt/u2f/opencores/aemb/sw/CVS/Entries
===================================================================
--- gnuradio/branches/developers/matt/u2f/opencores/aemb/sw/CVS/Entries
2007-11-05 00:43:29 UTC (rev 6813)
+++ gnuradio/branches/developers/matt/u2f/opencores/aemb/sw/CVS/Entries
2007-11-05 00:43:50 UTC (rev 6814)
@@ -1,2 +1,2 @@
D/c////
-/gccrom/1.4/Mon Apr 30 17:31:54 2007//
+/gccrom/1.6/Sat Nov 3 19:53:44 2007//
Modified: gnuradio/branches/developers/matt/u2f/opencores/aemb/sw/c/CVS/Entries
===================================================================
--- gnuradio/branches/developers/matt/u2f/opencores/aemb/sw/c/CVS/Entries
2007-11-05 00:43:29 UTC (rev 6813)
+++ gnuradio/branches/developers/matt/u2f/opencores/aemb/sw/c/CVS/Entries
2007-11-05 00:43:50 UTC (rev 6814)
@@ -1,2 +1,2 @@
-/aeMB_testbench.c/1.6/Mon Apr 30 17:31:54 2007//
+/aeMB_testbench.c/1.8/Sat Nov 3 19:53:44 2007//
D
Modified:
gnuradio/branches/developers/matt/u2f/opencores/aemb/sw/c/aeMB_testbench.c
===================================================================
--- gnuradio/branches/developers/matt/u2f/opencores/aemb/sw/c/aeMB_testbench.c
2007-11-05 00:43:29 UTC (rev 6813)
+++ gnuradio/branches/developers/matt/u2f/opencores/aemb/sw/c/aeMB_testbench.c
2007-11-05 00:43:50 UTC (rev 6814)
@@ -1,5 +1,5 @@
/*
- * $Id: aeMB_testbench.c,v 1.6 2007/04/30 15:57:10 sybreon Exp $
+ * $Id: aeMB_testbench.c,v 1.8 2007/11/03 08:40:18 sybreon Exp $
*
* AEMB Function Verification C Testbench
* Copyright (C) 2004-2007 Shawn Tan Ser Ngiap <address@hidden>
@@ -25,6 +25,12 @@
*
* HISTORY
* $Log: aeMB_testbench.c,v $
+ * Revision 1.8 2007/11/03 08:40:18 sybreon
+ * Minor code cleanup.
+ *
+ * Revision 1.7 2007/11/02 18:32:19 sybreon
+ * Enable MSR_IE with software.
+ *
* Revision 1.6 2007/04/30 15:57:10 sybreon
* Removed byte acrobatics.
*
@@ -53,18 +59,35 @@
- Pointer addressing
- Interrupt handling
*/
-void int_call_func (); // __attribute__((save_volatiles));
-void int_handler_func () __attribute__ ((interrupt_handler));
+// void int_service (void) __attribute__((save_volatiles));
+void int_handler (void) __attribute__ ((interrupt_handler));
-void int_handler_func () {
- int_call_func();
+void int_enable()
+{
+ asm ("mfs r14, rmsr");
+ asm ("ori r14, r14, 0x0002");
+ asm ("mts rmsr, r14");
}
-void int_call_func () {
- int* pio = (int*)0xFFFFFFFF;
+void int_disable()
+{
+ asm ("mfs r14, rmsr");
+ asm ("andi r14, r14, 0x00FD");
+ asm ("mts rmsr, r14");
+}
+
+void int_service()
+{
+ int* pio = (int*)0xFFFFFFFC;
*pio = 0x52544E49; // "INTR"
}
+void int_handler()
+{
+ int_service();
+}
+
+
/**
FIBONACCI TEST
http://en.literateprograms.org/Fibonacci_numbers_(C)
@@ -251,14 +274,18 @@
MPI port that is checked by the testbench.
*/
+
int main ()
{
// Message Passing Port
int* mpi = (int*)0xFFFFFFFF;
-
+
// Number of each test to run
- int max = 3;
+ int max = 10;
+ // Enable Global Interrupts
+ int_enable();
+
// Fibonacci Test
if (fib_test(max) == -1) { *mpi = 0x4641494C; }
@@ -268,6 +295,8 @@
// Newton-Rhapson Test
if (newton_test(max) == -1) { *mpi = 0x4641494C; }
+ // Disable Global Interrupts
+ int_disable();
// ALL PASSED
return 0;
}
Modified: gnuradio/branches/developers/matt/u2f/opencores/aemb/sw/gccrom
===================================================================
--- gnuradio/branches/developers/matt/u2f/opencores/aemb/sw/gccrom
2007-11-05 00:43:29 UTC (rev 6813)
+++ gnuradio/branches/developers/matt/u2f/opencores/aemb/sw/gccrom
2007-11-05 00:43:50 UTC (rev 6814)
@@ -1,6 +1,14 @@
#!/bin/sh
-# $Id: gccrom,v 1.4 2007/04/30 15:57:31 sybreon Exp $
+# $Id: gccrom,v 1.6 2007/11/02 03:25:46 sybreon Exp $
# $Log: gccrom,v $
+# Revision 1.6 2007/11/02 03:25:46 sybreon
+# New EDK 3.2 compatible design with optional barrel-shifter and multiplier.
+# Fixed various minor data hazard bugs.
+# Code compatible with -O0/1/2/3/s generated code.
+#
+# Revision 1.5 2007/10/22 19:14:38 sybreon
+# Recommended to compile code with -O2/3/s
+#
# Revision 1.4 2007/04/30 15:57:31 sybreon
# Modified compilation sequence.
#
@@ -14,10 +22,10 @@
# initial import
#
#mb-gcc -g -mxl-soft-div -mxl-soft-mul -msoft-float -mno-clearbss
-msmall-divides -mno-memcpy -mno-xl-gp-opt -o rom.o $@ && \
-mb-gcc -g -mxl-soft-div -mxl-soft-mul -msoft-float -o rom.o $@ && \
+mb-gcc -g -mstats -mxl-soft-div -mxl-soft-float -o rom.o $@ && \
#mb-run -v rom.o 2> rom.run && \
mb-objcopy -O binary rom.o rom.bin && \
hexdump -v -e'1/4 "%.8X\n"' rom.bin > ../sim/aeMB.rom && \
-mb-objdump -DSCs rom.o > rom.dump && \
+mb-objdump -DSC rom.o > rom.dump && \
rm rom.bin && \
echo "ROM generated"
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r6814 - in gnuradio/branches/developers/matt/u2f/opencores/aemb: sim/verilog sim/verilog/CVS sw sw/CVS sw/c sw/c/CVS,
matt <=