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

236 Commits

Author SHA1 Message Date
Andreas Olofsson
00a921b839 Changed register map
-Moved "groups" to E,D,C
-Changed names to EL* (shorter is better, clear enough)
-Moved order to fit logical operation during init
-Moved embox registers to MMR group
DONE!
2015-04-18 16:21:45 -04:00
Andreas Olofsson
27087fb736 ESAXI cleanup
-widen address bus to 32 bits
-blocking access to elink on ecfg access
-fixing decoding for embox
2015-04-18 16:18:41 -04:00
Andreas Olofsson
baf6cc5a62 Removed synchronizer on TXLCLK 2015-04-18 16:17:44 -04:00
Andreas Olofsson
85db5d9de0 Spell checking comments
First time ever using spell cheker in EMACS. Hard to believe...but it's true!
I am sure this speaks volume for how little I have commented my code over the years!
2015-04-18 06:36:33 -04:00
Andreas Olofsson
c41a0a8640 Cleaning up licenses for consistency
-All files still GPLv3
-Placed at the bottom of the file (I am tired of looking at them!)
2015-04-17 22:21:08 -04:00
Andreas Olofsson
18b2c489b0 Adding documentation to elink top level module 2015-04-17 22:10:14 -04:00
Andreas Olofsson
08a31cd971 MILESTONE: Open souce simulation elink loopback working! 2015-04-17 15:51:55 -04:00
Andreas Olofsson
bd90cc8f92 Fixed testbench bug (copy paste, RX not enabled)... 2015-04-17 10:08:17 -04:00
Andreas Olofsson
068d63279b Changing ESYSCLK definition (again.....)
old implementation felt too "cutsy"
this makes for a cleaner usage model (simple shift with param)
also splitting out enable but, not making the CTIMER mistake again
2015-04-16 22:31:36 -04:00
Andreas Olofsson
dcdf4a9231 Adding experimental OSERDESE2 model
Experimental model, dirty design
Bits are coming out and frame looks good..
Will continue with RX and debugging tomorrow
2015-04-15 23:03:33 -04:00
Andreas Olofsson
bdec6c1067 Cleaning up tx config register 2015-04-15 17:53:50 -04:00
Andreas Olofsson
846bfa3357 Fixing startup issues in transmit path:
-adding reset signals to synchronizer to solve startup issues
-setting config in test bench for speedup, default reg config now correct
-fix (my) stupid bug in etx_arbiter
-adding reset to fifo (todo: review this!)
-reviewing "all red" from waveforms is a must. Red (x) on data is ok, but leaving them on control signals is asking for trouble. Better safe than sorry when it comes to reset.
2015-04-15 16:33:20 -04:00
Andreas Olofsson
710c48b880 Fixed clock divider circuit
-changed ecfg clock default values, elink default is now the PLL clock/128 coming out of reset
-should work in any implementation?
-still have to implement the Xilinx specific stuff
2015-04-15 14:56:29 -04:00
Andreas Olofsson
69f3df4140 Continued work to create clean design:
-pll bypass for clocks (customer request)
-adding dividers on all clocks (tx/cclk)
-adding reset block (clearer)
-using commong clock_divider block
-need to clean up divider block later today, slightly broken:-)
2015-04-15 11:54:43 -04:00
Andreas Olofsson
3ddb6679ff Silly bug in access logic
Looks like I was interrupt while coding..
2015-04-14 23:55:00 -04:00
Andreas Olofsson
93330039e0 AXI bug fixes
-First bug was a typo. Cursing AXI for making every signal look exactly the same at first glance.  Not good use practice
-Second bug was sloppy. (removed pipeline stage on write data by mistake)
2015-04-14 20:26:58 -04:00
Andreas Olofsson
b9d3c5ac5c Verilator lint cleanup
~10 real bugs
-mostly name mismatches and bit range mistakes
2015-04-14 14:00:23 -04:00
Andreas Olofsson
f33d940df8 Fixed renaming bug..axi ready signal not working
(would have been caught by verilator, time to lint...)
2015-04-14 13:08:27 -04:00
Andreas Olofsson
d809f46286 Removing unused signals from interface 2015-04-14 11:44:31 -04:00
Andreas Olofsson
7dbaa68ec5 Clean up of old files 2015-04-14 08:32:04 -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
d45439b43e Changing emesh/elink transaction order
Our "standard packet" order should be followed everywhere to ease verification and integration (standards are good fir reuse...):
[0]=access
[1]=write
[3:2]=datamode
[7:4]=ctrlmode
[39:8]=dstaddr
[71:40]=data
[103:72]=upper-data (or srcaddr)
2015-04-12 08:59:53 -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
Andreas Olofsson
73229ff914 Major cleanup, refactoring, and feature completion
-adding clock bypass mode for esystx[12]
-removing monitor feature on erx
-remove loopback support from doc
-add clock bypass mode for esysclk
-shortening register names (descriptive enough)
-added debug signal information
-moving registers to elink
-making elink version programmable (to support plug in boards)
-reorganized debug signals and added stickys
-added timeout for axi slave
-removed embox status bit (redudant, don't poll status)
-renamed EMBOX0-->EMBOXLO
-moved datain interface straight to ecfg (cleanup)
-changed etx arbiter priority to increase stability
-created the esaxi_mux block
-fixed some missing ports issues in stubs

Now comes the fun part...verification...
Andreas
2015-04-11 00:04:18 -04:00
Andreas Olofsson
239ca128c2 Vivado run through
-missed connections
-mismatched bus widths
-missing IP blocks
-cleanup
-proper DV starts tomorrow
2015-04-08 23:40:16 -04:00
Andreas Olofsson
a6a5de33c2 Fixing bus issue with datain/dataout signal
Found in Vivado...
Needed to  connect up the wait signals properly on dataout/datain registers
2015-04-08 13:20:25 -04:00
Andreas Olofsson
d2cb9aa224 Refactoring and fixing bugs...
-back and forth with emmu, memory is now inside (for good)
-renamed clocks in etx to clarify
-updated logic in protocol and disty
-updated clock module
...one more review pass and we are ready for testing...
2015-03-25 19:25:12 -04:00
Andreas Olofsson
b0b9315bf1 Massive checkin...
-this may break already broken projects
-creates a Verilog top level (instead of using Vivado block level design)
-integrates mmy and mailbox (not completely integrated)
-compiles...
-pours in all of the code from the archive
(some new logic created)
2015-03-24 20:44:03 -04:00
aolofsson
1346c02803 Verilator inspired bug fixes
-address width in elink
-bus widths in ecfg
-command file more generic
2014-12-15 15:25:09 -05:00
aolofsson
7b6b281862 Adding new elink top level file written in verilog.
Compiles and runs (needs work)
2014-12-14 22:19:02 -05:00
aolofsson
c9a70e5f6b An unverified clean top level elink design module 2014-12-14 17:25:46 -05:00
aolofsson
94ef357c52 Removing old files not needed by new design 2014-12-12 12:27:22 -05:00
aolofsson
6778fce054 Cleaning up old files.. 2014-11-06 15:40:40 -05:00
aolofsson
b151bc90e1 More file organization
Adding some more utility functions
2014-11-06 12:19:39 -05:00
aolofsson
60182e52e3 A "complete" elink top level block with all new features added. Still need
to work on the axi side.
2014-11-06 12:18:16 -05:00
aolofsson
3f513c9d84 Basic interfaces..still need to add the axi signals and fill in the content 2014-11-06 12:16:09 -05:00