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

32 Commits

Author SHA1 Message Date
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
04cd179f5a Lint fixes for icarus/verilator 2015-11-09 21:57:25 -05:00
Andreas Olofsson
3797cac74f Solving critical paths for TX/RX
- Using the BUFIO makes another clock domain....FPGAs apparently hate clock domain crossings, avoid them at all cost.
- Now moving back to having on high speed clock domain for logic and DDR blocks, take care of IO alignment in software for TX and RX
- Also, fixed the io_wait path with logic...not sure what I was thinking there. Logic was trivial. The way it was,the io path was going straight into the FIFO as a wait.
2015-11-08 23:28:39 -05:00
Andreas Olofsson
63bf5d25a4 Moving to active low reset
- Because this is the right thing to do for chips
- Not going to tell you why...
2015-11-06 16:51:57 -05:00
Andreas Olofsson
3969e6d19e Moving to MIT license 2015-11-06 11:25:05 -05:00
Andreas Olofsson
6a423b5999 Improcing mmcm/pll clock path
-apparantly the BUFG in the feedback was not liked by the P&R
2015-11-04 20:02:45 -05:00
Andreas Olofsson
983c4db449 Link cleanup
- Using new packet interface
- Adding active signal, indicating that link is ready. This way you don't need to guess when the link is ready (no magic constants)
- Removed register on por reset input to get rid of x on startup.
2015-11-02 16:10:05 -05:00
Andreas Olofsson
d275406aa6 Reset timing optimization
- holding rx in reset state until tx is done
- removing reset from all pipeline registers
- removing reset from oddr/iddr
- the idea is to keep things quiet not to block in lots of places. The only real block needed is in the FIFO to keep "noise" from propagating past the link. The link should be kept in a safe reset state until the rx fram is stable and the clock is running so that the pipe can be cleaned out.
2015-10-08 10:34:59 -04:00
Andreas Olofsson
9bc40a8355 Fixing wait issue
-Removing the wait signal from the pipeline
-Assumption is that the prog_full is used on fifo, allowing two entries
to be captured in fifo.
-May revisit this at some time...
2015-08-14 17:13:52 -04:00
Andreas Olofsson
8e32299f2c Copyright cleanup 2015-08-07 09:19:37 -04:00
Patrik Lindström
634ff371ac Bug fixes 2015-06-30 13:32:05 +02:00
Andreas Olofsson
7f0f858b92 Letting read response packets through
-Needed for loopback testing
2015-05-20 15:03:22 -04:00
Andreas Olofsson
451a1fa925 MILESTONE: Bursts working!!!
-Fairly clean minimalist design
-Complete redesign
-Need to do random read/write testing to make sure
-Speed?
2015-05-18 15:38:30 -04:00
Andreas Olofsson
41f97e45ff Converting to synchronous reset 2015-05-17 23:00:53 -04:00
Andreas Olofsson
017b72c37a MILESTONE: "almost final" block works!
-bursting disabled, otherwise it looks good!
2015-05-15 15:32:43 -04:00
Andreas Olofsson
d2dcc15c52 Reset and clock cleanup
-In the default mode we now have 7 input clocks to basic elink
-This is too many, need to simplify, not reasonable!
-But with all the knobs on the MMCM, performance will be great...
-WIP on bursting...
2015-05-14 22:31:42 -04:00
Andreas Olofsson
b8c699fb22 Complete redesign
-Communication with IO is with "packet format"
-No need to invent a 64 bit format just for stupid OSERDES
2015-05-13 23:28:06 -04:00
Andreas Olofsson
a627ecae7b Removing testmode, bad idea
-Should be input to fifo or etx_core
2015-05-10 23:35:04 -04:00
Andreas Olofsson
570fbffd7f Baking in the IO wait signal into rd/wr wait
-Separate waits for rd/wr wait
-Adding wait to protocol block as well
-io_wait always goes through
-using active frame signal to select/clear data for output
2015-05-04 17:10:32 -04:00
Andreas Olofsson
72aff72558 MILESTONE: register read/write working!
-Bullet proof clock domain crossings!
2015-05-04 10:49:17 -04:00
Andreas Olofsson
e9d6794833 Blocking TX outgoing transcations on LINKID match 2015-05-04 10:41:14 -04:00
Andreas Olofsson
20534a6ed1 Added testmode to transmitter
-pin driven testmode driven..b/c fpga designers often don't like software
-and because it's really convenient, press a push button and see a pattern appear
-removed protocol description, goes in README.md, there should only be one source for documentation
-shortened signal names for ecfg
-changed to "clk" input now that everything is single clock
2015-05-01 17:47:24 -04:00
Andreas Olofsson
6b108f5e1f Adding reset to synchronizer
(cause there may not be a clock...)
2015-04-27 16:03:57 -04:00
Andreas Olofsson
3cb8d1d426 Adding test mode registers for transmit path
Makes it possible to easily test the IO path using the mi_ interface
The mi interface is very simple to drive in logic...
2015-04-27 00:04:30 -04:00
Andreas Olofsson
89286af8a9 Adding documentation of elink protocol 2015-04-26 23:02:13 -04:00
Andreas Olofsson
afd6e86840 Fixing etx pipeline
-Fixed one bug inserted during edits, causing double transactions
-Added pipeline stall logic to all units
2015-04-25 23:28:52 -04:00
Andreas Olofsson
c0d8c967c4 Address remapping integration
Integrated remapping logic (compiles)
Starting debug tomorrow...
2015-04-24 17:39:05 -04:00
Andreas Olofsson
0f0ff55928 Verilator based lint cleanup 2015-04-23 18:57:55 -04:00
Andreas Olofsson
44f162ec09 Packet interface change
-Changed packet interface
-Removed rd/wr from block, was pass through
2015-04-23 17:56:15 -04:00
Andreas Olofsson
cc5f165454 Clarified lclk names 2015-04-22 15:03:24 -04:00
Andreas Olofsson
5bd5d1ff54 Man that's a lot of yak shaving....
-added register read/write properly
-removed redundant wrapper layers in maxi/saxi
-changed over to "emesh" interface from packet 103 bit data
-cleaned up maxi
-cleaned up saxi
-removed redundant signals in elink interface (user,lock,..)
-added wrapper to fifo (to carry emesh interface through)

Now comes the fun part of testing
2015-04-13 23:35:21 -04:00
Andreas Olofsson
baebdab381 Reorganizing files...too many folders after all.
There is only one elink...
2015-04-11 00:10:16 -04:00