Andreas Olofsson
3102d6cd44
Adding comments
2015-11-16 09:58:47 -05:00
Andreas Olofsson
51c8ae600d
Burst works (really this time!!!)
...
-Solved a speed path in synchronizing the wait signal, had to use the first edge signal fo the IO and the lclk_div4 for the core logic. It seems that the FPGA has a really hard time mixing clock domains, the routing delay between domains explodes
-Put in some special case logic for edge cases, like when there is a wait coming in from the IO and there is a wait from the IO. In that case, the packet gets sampled by the IO and not by the current logic.
-This needs to be cleaned up eventually, not clean enough but it's good enough for now.
2015-11-16 00:42:34 -05:00
Andreas Olofsson
5197822f53
Fixing burst logic speed path
...
- The burst signal was going fro lclk_div4 domain straight into the io high speed domain. There is quite a bit of logic on this signal. Instead of starting with false paths or multi cycle paths with firstedge, I changed the pipeline.
2015-11-15 12:26:54 -05:00
Andreas Olofsson
f77938e9b0
Simplifying TX logic!!!!
...
- The logic was a mess, causing me to go around in circles for days. In the end, by adding a missing sync circuit (duh!) between the fast and slow clock to align the edges and removing a redundant pipeline stage ("double") the nasty logic just fell away. Looks good now.
-Write bursts mostly works and design looks clean.
-one bug left to fix on streams of writes...
2015-11-15 01:35:46 -05:00
Andreas Olofsson
431abcda57
Removing write decode from wait pushback
2015-11-15 01:35:04 -05:00
Andreas Olofsson
df0deabd0f
Re-re-fixing the wait on RX
...
- (fixing a temporary bad commit)
2015-11-15 01:34:20 -05:00
Andreas Olofsson
c1beed9a13
Two more wait bugs for burst
...
- The burst signal needs to be pipelined like everything else (0th order..)
- Don't look at write signal when pushing back wait...WILL GO BACK AND REVISIT THIS ONE LATER.
- Yeah, burst write test now passes!!!!
2015-11-13 17:26:05 -05:00
Andreas Olofsson
52b328c194
Redesign of elink transmitter
...
- Old design was not workable with bursting and long waits. The wait signal needs to be very carfully handled since it's asynchronous to the clock.
-The TX needs to be stopped quickly so the sync needs to be done at the high speed clock, not at div4 clock
-Since there are synchronizers here, there should be only one point of sync. This is not completely the case still, but I think??? it should be safe by constructiona at this point.
-bursting working at this point for writes!!!!!
2015-11-13 16:31:59 -05:00
Andreas Olofsson
78a72aa428
fixing packet format for remap block
2015-11-13 16:31:29 -05:00
Andreas Olofsson
a335194dea
fixing packet reshuffling bug
2015-11-13 16:30:33 -05:00
Andreas Olofsson
f7806821c7
Various wait cleanups in RX
...
- using rx reset, safer as this stays in reset longer, until the clock has hade time to clean up the rest
2015-11-13 16:28:40 -05:00
Andreas Olofsson
4637f90546
Fixing wait circuit in dut (randome wait gen was removed from top)
2015-11-13 16:27:06 -05:00
Andreas Olofsson
fbcf58d642
Adding description for wait signal
...
- Also fixing packet description
2015-11-13 16:26:32 -05:00
Andreas Olofsson
9dbaeaedcd
adding hello world test for elink, always run this first
2015-11-13 16:24:59 -05:00
Andreas Olofsson
3f1296b099
Cleanup
2015-11-12 10:50:05 -05:00
Andreas Olofsson
8820c8500a
Adding wait circuit for axi/elink
2015-11-12 10:47:52 -05:00
Andreas Olofsson
3b2968f162
Clean up test files
2015-11-12 10:46:52 -05:00
Andreas Olofsson
60bdda4dfa
Dead simple test
2015-11-12 00:59:21 -05:00
Andreas Olofsson
a9e034bef9
Bringing access low during wait
2015-11-12 00:58:06 -05:00
Andreas Olofsson
07dff85090
Changing build script to work with xilinx model
2015-11-12 00:56:02 -05:00
Andreas Olofsson
1dcd9a82bd
Fixing burst transmit bug
...
- The burst should be interrupted as soon as there is a wait signal. When the wait stops, a new frame naturally starts.
2015-11-11 22:33:54 -05:00
Andreas Olofsson
4a7b0d8f1c
Adding proper test or bursting
...
- Need to at a minimum try to fill the fios
- Need to add a wait circuit at the back end of fifo to test pipe
2015-11-11 22:28:53 -05:00
Andreas Olofsson
dccaadc286
Updating register names and fixing error in description of RXCFG
2015-11-11 14:26:46 -05:00
Andreas Olofsson
1ddbc4c0a8
Adding missing register
2015-11-11 14:26:35 -05:00
Andreas Olofsson
867b750c50
Adding write from stimulus to dv link1
...
- also, more cleanup of ID parameters
2015-11-11 14:02:02 -05:00
Andreas Olofsson
c885745f6c
Fixing half/byte zero-out bug
...
- Interrupted mid coding apparently..
- Upper bits need to be zeroed out for 8/16 bit read responses
2015-11-11 14:00:13 -05:00
Andreas Olofsson
4885c3f7d2
Adding byte/halfword test
2015-11-11 13:58:55 -05:00
Andreas Olofsson
0a2ea66b7e
Bug fix. Adding missing ID parameter.
...
- would only show up at different ID
- better to always make defauly nonsense
- sneaky...
2015-11-11 13:58:04 -05:00
Andreas Olofsson
9c1fb038a9
Adding test for remapping logic
2015-11-11 13:57:18 -05:00
Andreas Olofsson
9feaa36dce
Refactoring and adding some tests
...
- "infinite loop test"
- separating out common elink functions
-
2015-11-11 05:32:06 +00:00
Andreas Olofsson
e3544c4fc8
Adding toggle led test
2015-11-11 03:41:22 +00:00
Andreas Olofsson
b1e3a39d06
adding legacy mode registers
2015-11-11 03:39:17 +00:00
Andreas Olofsson
e097da6bda
Removing reset sequence from access utility
...
- Responsibility of application
- Makes no sense resettting device after each write/read..
2015-11-11 03:36:55 +00:00
Andreas Olofsson
b2926fdc5e
Adding test for setting east link to half speed
2015-11-10 22:30:41 -05:00
Andreas Olofsson
d2d291a0fc
Merge branch 'master' of https://github.com/parallella/oh
2015-11-10 22:30:10 -05:00
Andreas Olofsson
7f0698bbc8
Fixed ctrlmode bug
...
- Found this by trying to toggle the LED in hardware!!
- So freaking close!!
2015-11-10 22:29:30 -05:00
Andreas Olofsson
6b2f6f42bc
Added missing init() routine
...
- Version 0 is the one currently in production, works!!!
- Now starting to debug the new linke (verion 1)
2015-11-11 02:00:14 +00:00
Andreas Olofsson
f92bcb3f0b
Adding elink register include file
2015-11-10 18:48:53 -05:00
Andreas Olofsson
8c4a02fbdf
Adding bringup script for elink
...
- uses 104 bit packet for formatting
- makes for easy transition from verilog testbench
- happy with this one...
2015-11-10 17:01:04 -05:00
Andreas Olofsson
5840c3e369
Fixing reset bug
...
- There is a register reset by out_clk reset on fifo_cdc
- This means the config path needs to us rx synched reset to be clean
2015-11-10 09:19:45 -05:00
Andreas Olofsson
f2b2c4fd00
Balancing TXclocks
...
- Better to be balanced with clocks (BUFG) than trying with BUFIO and having CDCs. Tools warned about it...
2015-11-10 09:19:01 -05:00
Andreas Olofsson
04cd179f5a
Lint fixes for icarus/verilator
2015-11-09 21:57:25 -05:00
Andreas Olofsson
243ba6b608
Speedpath fix for rx io
...
- reduce fanout on IDDR block
2015-11-09 21:56:46 -05:00
Andreas Olofsson
efef6448c2
Fixing wait bug on config write (2 bugs)
...
- missing reset on wait signal
- missing wait on cfg
2015-11-09 21:55:46 -05:00
Andreas Olofsson
ef204a875b
Fixed register read/write test
...
- Has been tested with dv_axi to work
2015-11-09 20:39:57 -05:00
Andreas Olofsson
02ae7cf83d
Cleanup
2015-11-09 20:39:48 -05:00
Andreas Olofsson
6dcd5e96bf
Cleanup after lock width change for zynq axi
2015-11-09 20:39:16 -05:00
Andreas Olofsson
e2c917b6f9
Fixed packet reformatting bug
2015-11-09 20:38:55 -05:00
Andreas Olofsson
497dd71aaa
Fixed readback bug
...
- there were hard coded magic number in code, bad practice!
- now works!
2015-11-09 20:38:12 -05:00
Andreas Olofsson
13d29f8e67
Stupid typos..
2015-11-09 16:18:20 -05:00