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

131 Commits

Author SHA1 Message Date
Andreas Olofsson
082593b2e9 Adding tests for mmu and remapping logic 2015-11-29 19:06:31 -05:00
Andreas Olofsson
3ce9b41726 Working mailbox!
- Gating mailbox_not empty with irq_en. bit [28] of RXCFG
- Changing elink output interrupt to "or" of not_empty and full
- Adding mailbox status register (mostly for debug)
- Moving register addresses to make space for mailbox status register
- Fixing wrappers for DV
- Updating README docs with new register map
- Removing mailbox from RX status reg. Doesn't belong there, should be coupled with mailbox for modularity.
2015-11-29 12:20:17 -05:00
Andreas Olofsson
13005e6cbf Updated mailbox test
- Added mailbox status address
- Moved mailbox registers
2015-11-29 12:09:47 -05:00
Andreas Olofsson
099dbececa Adding test for mailbox readback 2015-11-28 21:42:05 -05:00
Andreas Olofsson
0fc4b6188a Test cleanup
- added lint script using verilator
- adding verilator filter commands for fifo behavioral
- Longer pushbacks in ememory
2015-11-28 20:15:06 -05:00
Andreas Olofsson
08f5d28ed4 Test cleanup 2015-11-25 23:49:56 -05:00
Andreas Olofsson
8856f7c763 DV cleanup 2015-11-25 22:00:07 -05:00
Andreas Olofsson
cc362ae72a Fixing DUT
- Adding read response pushback
- Adding random WAIT generation on memory
2015-11-24 09:11:19 -05:00
Andreas Olofsson
cedb494636 Changing coordinate of model
- Should really be parameter, for now it's 0x808
2015-11-24 09:10:26 -05:00
Andreas Olofsson
8915fd6dfd Adding environment for chip reference model
- Turns out I had a nasty bug that was masked by using my own RX to loopback the TX. Since the new RX is very benign with a  programmable fifo full flag the timing is quite relaxed.
- The legacy elink for e16 has a strict wait policy. When wait is raised high, you must stop pretty much immediately.
- I struggled with testing this bug on the parallella for 2 days.
- Putting together the test environment uncovered the bug in a couple of hours. F**K, I should know better!!
2015-11-24 01:07:49 -05:00
Andreas Olofsson
a8b6ed1d5a Adding more test vectors for elink 2015-11-24 01:06:52 -05:00
Andreas Olofsson
57702798e5 Changing testbench to reflect real design
- The axi slave can never drive enough reads to saturate the maxi fifo since it's only sending out one read at a time.
- Changing the system so that a raw elink sits in front of stimulus..
2015-11-18 23:52:10 -05:00
Andreas Olofsson
c8b931efb0 Improving the elink_axi environment
- Turns out there was a bug hidden in the emaxi that can only be found by properly driving a master device with reads. This could not happen in the old environment.
- Note that due to limitations in the esaxi, I had to add the etx_fifo block as an interface (simplest).
- The ESAXI is very limited in that it MUST interface to a fifo with spare entries. (so prog_full). This should be FIXED!
- Minimal test passes, now to try to reproduce the DMA bug..
2015-11-18 23:26:59 -05:00
Andreas Olofsson
86f656022d Adding memcpy mode to transaction generator 2015-11-18 23:26:05 -05:00
Andreas Olofsson
4c6e72491c Adding test for remapping
- Not that useful, but it was part of the debugging process
2015-11-18 23:25:07 -05:00
Andreas Olofsson
e94acceaa0 Cleaning up random dv env 2015-11-17 17:10:57 -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
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
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
867b750c50 Adding write from stimulus to dv link1
- also, more cleanup of ID parameters
2015-11-11 14:02:02 -05:00
Andreas Olofsson
4885c3f7d2 Adding byte/halfword test 2015-11-11 13:58:55 -05:00
Andreas Olofsson
9c1fb038a9 Adding test for remapping logic 2015-11-11 13:57:18 -05:00
Andreas Olofsson
b2926fdc5e Adding test for setting east link to half speed 2015-11-10 22:30:41 -05:00
Andreas Olofsson
04cd179f5a Lint fixes for icarus/verilator 2015-11-09 21:57:25 -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
13d29f8e67 Stupid typos.. 2015-11-09 16:18:20 -05:00
Andreas Olofsson
55ba8ff635 Cleaning up warnings from FGPA tools
- removing unconnected ports
- only one rst input for async_fifo
- synchronizing the reset input toe emaxi fifo
2015-11-09 13:23:40 -05:00
Andreas Olofsson
01fd24e069 Fixing synchronization reset speed path
- This seems silly, why even have a syncrhonizer
- Safe to set speed path?
2015-11-09 00:16:35 -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
92272e211d Adding missind dirs in comamnd file 2015-11-04 20:04:44 -05:00
Andreas Olofsson
6b83cdb0d7 Testbench bug fix
- can't connect a 64 bit interface to a 32bit one...
- (abuse of emaxi..)
2015-11-03 21:50:26 -05:00
Andreas Olofsson
f849f2410f Adding infrastructure for axi_elink
- Need to clean up some of these files later
2015-11-03 19:52:08 -05:00
Andreas Olofsson
275ed5252f Adding test for sweeping idelay and testing reads
-It works!!!!
2015-11-03 10:30:20 -05:00
Andreas Olofsson
02b22a36f3 Fixing test to conform to new stimulus format 2015-11-02 20:51:03 -05:00
Andreas Olofsson
96abfe3105 Initial register test (still debugging) 2015-11-02 19:27:41 -05:00
Andreas Olofsson
ec9c3d9e44 Delete old files 2015-11-02 16:08:14 -05:00
Andreas Olofsson
34d379ecb9 Adding new "simpler" test infrastruture
- build elink with one command
- place all tests in tests/ directory
- new stimulus format followed
- dut_elink.v created
2015-11-02 16:04:46 -05:00
Andreas Olofsson
ccad681b0e Fixing testbench for new clocks
- Yay! Lots of logic removed
- elink passes again!!!
2015-10-07 19:21:36 -04:00
Andreas Olofsson
902ef1b7dd Removing hack on rx clock 2015-09-30 13:00:14 -04:00
Andreas Olofsson
8c4c730682 added etype to elink instantiation 2015-09-27 08:40:09 -04:00
Andreas Olofsson
d7508f9938 DV cleanup
-Set VCO_MULT to 1 for PLL. Dirty hack to allow the RX clk to phase align with the input. Otherwise, if you multiply the VCO clock and then divide, you get a random phase alignment the way the current clock divider is written.
-Changed the fifo_cdc to 32 entries. Forgot that I had changed the fifo_cdc to hard coded per number of entries. Really need to have a parametrixed model that works!!
2015-09-14 21:58:52 -04:00