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

47 Commits

Author SHA1 Message Date
Andreas Olofsson
d9f18e7b58 DV cleanup
-removing all redundant build files, there must be only one...
2016-03-08 21:23:02 -05:00
Andreas Olofsson
cb0b0e933c Adding basic tests for small modules
(so that run.sh can runt out of top dir)
2016-03-08 21:21:41 -05:00
Andreas Olofsson
02601cfc1d Adding dut for emmu 2016-03-08 21:20:48 -05:00
Andreas Olofsson
1f42630f1c Adding sync fifo for mailbox as option 2016-01-19 23:34:56 -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
c6bf2e2bb9 Removing "bid" parameter from emmu
-Access signal decoded from outside
2016-01-13 15:31:38 -05:00
Andreas Olofsson
99e58fb56e Adding reset to pipeline
- More conservative (only 2 more flops)
2016-01-11 20:49:31 -05:00
Andreas Olofsson
a68bba1572 Cleaning up register interface
- Removed the cfgif block, too confusing. There is a good lesson here. Probably the n'th time I that I have been overzealous about reuse. When you end up adding a parameter to a block that duplicates the logic 2X it's always better to create two separate blocks...
- Changed the register access interface to packet format
- Change the priority on the etx_arbiter to pick read responses first
- Removed redundant signals
- Took away the read resonse bypass on remap in tx for now..
- Removed defparams (convention)
- Unified wait signal on tx
- Fixed cfg wait
-
2016-01-11 17:35:53 -05:00
Andreas Olofsson
b130ac8fea Making AW in emesh2packet / packet2emesh explicit parameter 2016-01-10 11:51:49 -05:00
Andreas Olofsson
5ddf9305a3 More packet interface changes... 2015-12-17 12:52:27 -05:00
Andreas Olofsson
19fa611bb9 Massive reorganization to impove reuse
- adding more chip code
- pushing memory stuff into common
- making common "oh_" naming class
-
2015-11-30 13:45:49 -05:00
Andreas Olofsson
44bbaeb830 Fixed typo on MMU lookup.
-MMU now seems to work...
2015-11-29 19:10:46 -05:00
Andreas Olofsson
75710f25b7 Simplifying wait logic 2015-11-13 22:47:46 -05:00
Andreas Olofsson
13c523e80c Fixing wait circuit in emmu
- need to consider read/write
- fixing packet parsing, write bit was moved o [0]
2015-11-13 16:22:23 -05:00
Andreas Olofsson
3969e6d19e Moving to MIT license 2015-11-06 11:25:05 -05:00
Andreas Olofsson
e47fd56a21 Bulk edits (clean up later) 2015-11-06 07:03:28 -05:00
Andreas Olofsson
581c2943f5 Fixing pushback bug in emmu
- reset was broken!
- need to account for wait
- merging read/write wait for simplicity, otherwise you would need to reset the packets to figure out if it's a read or write transaction...and I don't want to reset every packet throughout the pipe.
2015-10-19 11:08:28 -04:00
Andreas Olofsson
95c4f8f029 Putting pack wait logic 2015-10-08 10:43:28 -04:00
Andreas Olofsson
2b2827d1f4 Removing reset from pipeline 2015-10-08 10:41:27 -04:00
Andreas Olofsson
f42b34ea3c Moving back to async reset 2015-10-07 19:21:04 -04:00
Andreas Olofsson
634b1f81f0 Making reset async 2015-10-07 12:06:30 -04:00
Andreas Olofsson
31bbb6476b Remving delay from mmu 2015-09-14 13:29:42 -04:00
Andreas Olofsson
36e8f78370 README changes and various fixes 2015-08-07 07:56:30 -04:00
Andreas Olofsson
2cbf91b07b Making reset sync in emmu 2015-05-23 22:26:15 -04:00
Andreas Olofsson
c3fe37dc90 Separating rd/wr wait for pipeline stall 2015-05-04 17:09:23 -04:00
Andreas Olofsson
5470c1dc8f Enable 2 clock operation for EMMU
The dual port memory should support this in most cases
2015-05-03 23:24:27 -04:00
Andreas Olofsson
8461277ab1 Complete redesign of configuration register file
-There is now only one clock domain crossing involved with the reg files/ All clock domain crossings use the same 104 bit wide async fifo! If it's broken we are screwed, if it works we are perfect!
-Configuration can be done from host through txwr/txrd path of any register
-The RX IO pins can only access the RX side of the design
2015-05-01 17:58:16 -04:00
Andreas Olofsson
395a1b3cb7 Merge branch 'master' of https://github.com/parallella/oh
Adding complete register documentation

Conflicts:
	elink/README.md
2015-04-29 11:55:01 -04:00
Andreas Olofsson
f544c44a08 Adding register access from RX
-Access without symmetry was awkward, now we can reach regs from TX or RX side
-Removes a special path for mailbox (came for free)
-At the same time reduced clock complexity (one clock for system!!)
-Moved mailbox to top level
-Changed main clock to "sys_clk" for all
2015-04-27 23:51:00 -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
743d3a710d MMU mi_write bug fix
MMU should only be written when [15] of address is set
(shares address space with other registers in TX/RX)
2015-04-27 11:12:18 -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
3b637e55f0 MILESTONE: Design once again passes test
New features:
DMA
MAILBOX directly in RX path
TXMMU
2015-04-23 23:16:03 -04:00
Andreas Olofsson
8266e6dd29 Changing to packet interface 2015-04-23 17:54:23 -04:00
Andreas Olofsson
6cc5d6de90 MMU working...
-Needs more testing
2015-04-19 21:36:47 -04:00
Andreas Olofsson
bd90cc8f92 Fixed testbench bug (copy paste, RX not enabled)... 2015-04-17 10:08:17 -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
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
5bd3ade1ef Updated dv environment 2015-04-09 12:05:15 -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
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
bb39314399 Verious silly compilation fixes, nothing to see here.. 2014-12-14 22:24:16 -05:00
aolofsson
0ba677883d Adding run.sh files for simulation 2014-11-05 20:00:57 -05:00
aolofsson
4ab49e07c2 Reorganizing structure to be IP centric
-Each directory contains one sub block
-Each directory contains a dv/docs/hdl directory, self contained.
-May need to add constraints directory as well at some point.
-This is the right thing to do, make each block modular and self contained.
2014-11-05 14:31:05 -05:00