1
0
mirror of https://github.com/aolofsson/oh.git synced 2025-01-21 22:12:54 +08:00

386 Commits

Author SHA1 Message Date
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
b1a9f502ca Xilinx models
-adding ODDR model
-configuring the ecfg (rx/tx/clk) in testbench
2015-04-15 17:54:19 -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
bee90fcacc Support files for fifo 2015-04-14 23:56:59 -04:00
Andreas Olofsson
4fd4c8e989 Adding platform agnostic dual ported memory and async fifo 2015-04-14 23:56:00 -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
67f242c8ef Running with "TARGET_CLEAN" 2015-04-14 23:48:58 -04:00
Andreas Olofsson
b58660e9a6 Adding different data modes
Good enough fufu testing...
..the next step is driving stimulus with transactor through Verilator..
2015-04-14 23:47:49 -04:00
Andreas Olofsson
04c65d3570 Adding back the "common" directory 2015-04-14 23:22:29 -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
bf1671b1e9 Added "fufu" DV environment for elink
-Icarus for now, verilator comes next
-Using our "standard" emesh interface
..here we go...
2015-04-14 11:45:33 -04:00
Andreas Olofsson
d809f46286 Removing unused signals from interface 2015-04-14 11:44:31 -04:00
Andreas Olofsson
084f630c4e Adding missing stubs 2015-04-14 09:42:19 -04:00
Andreas Olofsson
b4c5ef302b Adding fifo wrapper 2015-04-14 09:06:08 -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
d75a6eed6a Removing folders that aren't needed anymore 2015-04-11 00:14:43 -04:00
Andreas Olofsson
21a058f696 Cleanup
Removed useless common directory
Fixed vivados permissions on file
2015-04-11 00:12:57 -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
Olof Kindgren
c91c7abbbc emmu: Refactor and add verilator testbench
Testbench is split between the synthesizable transactors and
non-synthesizable parts to allow reuse of transactors in the newly
added verilator test bench
2015-04-10 15:30:54 +02:00
Andreas Olofsson
1178e0d226 Driving fall back model 2015-04-09 12:11:26 -04:00
Andreas Olofsson
4666e34623 Fixing bad merge
This block will be completely redesigned
2015-04-09 12:10:29 -04:00
Andreas Olofsson
5bd3ade1ef Updated dv environment 2015-04-09 12:05:15 -04:00
Andreas Olofsson
d4d1cd3500 Removing unecessary levels of hiearchy 2015-04-08 23:46:50 -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
be50a87f83 Adding constraints
Not sure if it's needed...still have to generate elink "ip" block
2015-04-08 23:39:03 -04:00
Andreas Olofsson
b0a94d7f43 Adding stubs for IP blocks used in elink 2015-04-08 23:38:36 -04:00
Andreas Olofsson
f1b6a0f3b7 Adding constants directory
1. Platform specific constants (xilinx vs altera)
2. Version specific constants
Basically anything that affects `ifdefs
2015-04-08 13:40:22 -04:00
Andreas Olofsson
d2fc0da3a1 Fixing file permissions
Verilog text files should not have execute permissions!
2015-04-08 13:26:12 -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
Andreas Olofsson
230963ba6f Integrating Fred's changes 2015-03-24 15:12:53 -04:00
Andreas Olofsson
edf69e3d3d Includes Fred's latest bug fixes (from project archive) 2015-03-23 16:14:40 -04:00
Andreas Olofsson
0aa949b382 Fixing typo 2015-03-23 15:46:56 -04:00
Andreas Olofsson
8f22ce2fec Merge remote-tracking branch 'origin/elink_redesign_fred'
Conflicts:
	fpga/src/ecfg/hdl/ecfg.v
	fpga/src/gpio/hdl/parallella_gpio_emio.v
2015-03-23 15:29:55 -04:00
Andreas Olofsson
054b547541 Merge remote-tracking branch 'origin/elink_redesign' 2015-03-23 15:24:38 -04:00
Fred Huettig
573d322d16 Revert "Fixing port declarations (thanks Verilator!)"
This reverts commit 75310447401bce8561b7a67d4c8aeca27c261464.
2015-01-28 14:15:13 -05:00
Fred Huettig
857af62484 Partial integration of new elink 2015-01-28 13:53:09 -05:00
Fred Huettig
48c455121c Added XDC constraints files.
Added REMAP function to non-MMU eDistrib.
Fixed EMAXI operation when eLink is very busy.
Added streaming support for eproto_rx.
Fixed handling of bursts on ESAXI, added support for memcpy() unaligned reads.
Added testbench code.
2014-12-19 16:15:26 -05:00
aolofsson
2c886c4e24 Fixing port declarations (thanks Verilator!) 2014-12-15 16:39:28 -05:00
aolofsson
f281bf9e5d Fixed renaming bug in e_tx_ack signal. (thanks verilator) 2014-12-15 15:28:33 -05:00
aolofsson
b83ef81db6 Wrong bus width (just cleanup..) 2014-12-15 15:26:07 -05:00