1
0
mirror of https://github.com/aolofsson/oh.git synced 2025-01-17 20:02:53 +08:00

1246 Commits

Author SHA1 Message Date
Andreas Olofsson
62263811fe Fixed bugs
-Fixed these Thursday, forgot to commit...
-Nobody said anything, so I guess nobody tried it yet:-)
2016-01-23 21:19:16 -05:00
Andreas Olofsson
ebc011b1c7 Adding gpio circuit
-work in progress
-compiles and read/write to some registers work
2016-01-23 00:09:14 -05:00
Andreas Olofsson
f7f52c3ee9 Fixing broken links 2016-01-21 15:37:08 -05:00
Andreas Olofsson
c3f34d6231 Clarifying the run & modify slide 2016-01-21 14:40:04 -05:00
Andreas Olofsson
20e0e6509c Merge branch 'master' of https://github.com/parallella/oh 2016-01-21 13:16:59 -05:00
Andreas Olofsson
d67f3672d5 Pres tweaks 2016-01-21 13:16:43 -05:00
Andreas Olofsson
f69b8c7b59 Merge pull request #41 from olajep/mailbox-test
Add kernel mailbox interface test
2016-01-21 11:07:46 -06:00
Andreas Olofsson
66f08a22ca Merge branch 'master' of https://github.com/parallella/oh 2016-01-21 11:52:41 -05:00
Andreas Olofsson
562bfc3182 Updated tutorial 2016-01-21 11:51:23 -05:00
Ola Jeppsson
31ffb41247 Add kernel mailbox interface test
Kernel code here, will be included in official 'parallella-linux'
when API:s have stabilized...
https://github.com/olajep/parallella-linux/tree/wip-mailbox

```
Testing blocking wait with interrupts
i: 00 from: 0x00000000 data: 0x00000000
i: 01 from: 0x00000000 data: 0x00000001
i: 02 from: 0x00000000 data: 0x00000002
i: 03 from: 0x00000000 data: 0x00000003
i: 04 from: 0x00000000 data: 0x00000004
i: 05 from: 0x00000000 data: 0x00000005
i: 06 from: 0x00000000 data: 0x00000006
i: 07 from: 0x00000000 data: 0x00000007
i: 08 from: 0x00000000 data: 0x00000008
i: 09 from: 0x00000000 data: 0x00000009
i: 10 from: 0x00000000 data: 0x0000000a
i: 11 from: 0x00000000 data: 0x0000000b
i: 12 from: 0x00000000 data: 0x0000000c
i: 13 from: 0x00000000 data: 0x0000000d
i: 14 from: 0x00000000 data: 0x0000000e
i: 15 from: 0x00000000 data: 0x0000000f

Reading 1000000 messages
received: 1000000       errors: 0       time: 11.65s    rate: 85808
msgs/s
```

Signed-off-by: Ola Jeppsson <ola@adapteva.com>
2016-01-21 16:31:55 +00:00
Andreas Olofsson
80597350e7 Merge branch 'master' of https://github.com/parallella/oh 2016-01-21 15:39:42 +00:00
Andreas Olofsson
9e1c0c198d Adding registers 2016-01-21 15:38:57 +00:00
Andreas Olofsson
333e445c58 Adding tutorial 2016-01-21 09:23:21 -05:00
Andreas Olofsson
ac51816b61 Adding simple accelerator test
-not debugged yet
2016-01-21 07:50:14 -05:00
Andreas Olofsson
0327ca1df3 Merge branch 'master' of https://github.com/parallella/oh 2016-01-20 21:48:06 -05:00
Andreas Olofsson
083e459fb0 Fixing issue with empty ip list 2016-01-20 21:46:48 -05:00
Andreas Olofsson
0804d8ea29 Fixing weird Vivado error
-Seems vivado doesn't like the "|=" operation??
2016-01-20 21:45:55 -05:00
Andreas Olofsson
45829c0231 Adding missing files
-bistream building now
2016-01-20 21:44:17 -05:00
Andreas Olofsson
d614b4f33b Adding FPGA build files 2016-01-20 18:45:20 -05:00
Andreas Olofsson
3a56b32a1b Adding packaging files 2016-01-20 18:14:25 -05:00
Andreas Olofsson
5b15aa2b79 Adding IP packaging files 2016-01-20 17:36:57 -05:00
Andreas Olofsson
abd25426b6 Fixing various small bugs
-sandbox accelerator working in simulation!
-t0+6 hrs wall time (lost 2 hours due to travel)
2016-01-20 17:23:09 -05:00
Andreas Olofsson
b3c0cdc082 Adding generic N:1 mux 2016-01-20 17:22:05 -05:00
Andreas Olofsson
1e35436b10 Adding generic mesh packet mux 2016-01-20 17:14:55 -05:00
Andreas Olofsson
962fcd99a6 Merge pull request #40 from olajep/mailbox-irq
Fix mailbox interrupt
2016-01-20 16:43:54 -05:00
Ola Jeppsson
cf4aa62027 Fix mailbox interrupt
Use IRQ_F2P for interrupts, this is what other designs seem to do.
Use interrupt pin 11 (maps to IRQ=87 devicetree-IRQ=55 (87-32)).

Disable CORE0_FIQ_INTR as we no longer use it.

Add concat ip, apparently needed:
http://www.xilinx.com/support/answers/58942.html

Add constant_zero, and constant_one outputs to parallella_base module.

Tie all unused (by PL) interrupts on the F2P port to 0.

Signed-off-by: Ola Jeppsson <ola@adapteva.com>
2016-01-20 22:30:56 +01:00
Andreas Olofsson
d859b96b0a Adding sandbox type accelerator
- Compiles, not debugged yet
- 2hrs wall time to this point froms "scratch"
2016-01-20 13:54:25 -05:00
Andreas Olofsson
e466764706 Merge branch 'master' of https://github.com/parallella/oh 2016-01-20 10:53:42 -05:00
Andreas Olofsson
2cc776e926 Updating mailbox documentation 2016-01-20 10:53:29 -05:00
Andreas Olofsson
1b6f1ecaef Interface cleanups 2016-01-20 10:51:57 -05:00
Andreas Olofsson
70dc4fd5a6 Separating waits for config and TX path
...still needs work
2016-01-20 10:51:26 -05:00
Andreas Olofsson
1afc3e93ad Adding mailbox prog full to RX wait signal 2016-01-20 10:50:29 -05:00
Andreas Olofsson
21ac7b690d Adding rd_counter to sync fifo interface 2016-01-20 10:50:00 -05:00
Andreas Olofsson
a2d3b1e4e0 Adding rd_count, prog_full to interface
- status now 32 bit register
- block writing on full
- block reading on empty
- route prog_full to wait pushback circuit
2016-01-20 10:48:44 -05:00
Andreas Olofsson
e2e99bd29d Adding read count to fifo interface
-Also removing valid signal, useless..
2016-01-20 10:48:04 -05:00
Andreas Olofsson
f8d09f0112 Merge pull request #39 from olajep/burst-test
Add burst test
2016-01-20 07:50:56 -05:00
Ola Jeppsson
a4e7ebe47b Add burst test
Add test for writes to same address. Apparently consecutive 64-bit
writes to the same address can turn into burst writes.

From:
https://github.com/parallella/oh/issues/37

Andreas:
> Remembered that we have a long forgotten mode in the epiphany chip elink
> (not impemented in the fpga elink) that creates bursts when you write
> doubles to the same address. (F**K!)
> So the writes were likely coming in as bursts.
> Looks like the mailbox works fine when you write in "int"s (I tested it on
> the board with consecutive)
> (see "mailbox_test" in elink/sw0)

Signed-off-by: Ola Jeppsson <ola@adapteva.com>
2016-01-20 11:59:23 +00:00
Andreas Olofsson
1f42630f1c Adding sync fifo for mailbox as option 2016-01-19 23:34:56 -05:00
Andreas Olofsson
2d46301b65 Fixing clocking diagram 2016-01-19 23:33:00 -05:00
Andreas Olofsson
9a14e0787a Adding test to detect mailbox burstin 2016-01-20 04:31:03 +00:00
Andreas Olofsson
e86567241d Cleanup 2016-01-19 16:06:38 -05:00
Andreas Olofsson
041f477363 Cleaned up the falling edge of frame
-The current testbench has a big pause between frames, whereas the chip might push out back to back frames with only a single cycle pause between frames. It seems possible that the old logic would have been a problem, since there two incorrect states that took 2 cycles to settle. This would not have been a problem with bursting or frames with many nops between. Let's see....
-The correct way to verify this is to 1.) Improve TX to make performance as good as on the chip (less stalls) 2.) Create a testbench witht the chip reference code.
-In the meantime, we compile and pray...
2016-01-19 16:03:15 -05:00
Andreas Olofsson
6e93d0399a Hold hack..
-This needs to be resolved! Currently there is a simulation problem with the PLL and IDDR circuit, likely due to the clock divider. Amazingly enough the circuit works in sim and FPGA, but there was some redundant logic hiding this.
-Need to take a closer look at this to get the non-blocking/blocking right in PLL and CLKDIV
2016-01-19 16:01:15 -05:00
Andreas Olofsson
b26255dfb5 Fixing weird clog2 error in Vivado
-I guess you can't use built in function with localparam?
2016-01-19 14:07:04 -05:00
Andreas Olofsson
017d15660c Adding Verilog quick reference 2016-01-19 13:40:46 -05:00
Andreas Olofsson
ca5db9fa4d Interface cleanup
- fifo interface changes
- maxi/saxi name changes
- general code cleanup
- register remapping for mailbox
2016-01-19 13:33:08 -05:00
Andreas Olofsson
1a7a76e190 Removing filter logic for ID match (bug fix)
- This was moved to arbiter block
2016-01-19 13:32:26 -05:00
Andreas Olofsson
e8794b780c Simplifying axi_elink testbench
- Too much junk in there, couldn't understand my own logic 4 weeks later...
- emesh_if is a disaster, I have yet to find a way to write code that lets me remember the pass through bidirectoral logic for more than 1 day. Removed the interface and replaced it with 3 lines of code.
2016-01-19 13:30:09 -05:00
Andreas Olofsson
a270ade1cd Cleaning up FIFO interfaces
-making sync/async interfaces more uniform
-removing valid signal, useless...
-preparing for count output
2016-01-19 13:28:47 -05:00
Andreas Olofsson
ce7c89ce1e Fixing read response logic
- Should only pass back read response EGROUP_RR
- Otherwise there would be a match on writing to MAILBOX
2016-01-19 13:27:22 -05:00