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

1079 Commits

Author SHA1 Message Date
Andreas Olofsson
d9ea47a88d Common library cleanup 2016-03-22 09:19:39 -04:00
Andreas Olofsson
6f60b19c8f Adding links to all common modules 2016-03-22 09:17:01 -04:00
Andreas Olofsson
401bc8319a README formatting 2016-03-22 08:32:09 -04:00
Andreas Olofsson
c3b83621e0 Reorg cleanup 2016-03-22 08:27:59 -04:00
Andreas Olofsson
7094173ae9 Reorg! Why?
- The top level directory was not scaling, too imposing
- Friendlier to download a repo and see a finite number of top level dirs
- We are just getting started...
2016-03-22 08:13:40 -04:00
Andreas Olofsson
a6f1dc8971 Merge branch 'master' of github.com:parallella/oh 2016-03-22 08:01:04 -04:00
Andreas Olofsson
85ecd25268 Remving the ugly wait hack in the stimulus, not the way to drive the pipeline 2016-03-21 20:51:35 -04:00
Andreas Olofsson
3ae9c26d38 Changing shift/load order
- Load should always have higher priority, but load is blocked if there is a pending shift anyway...
2016-03-21 20:50:41 -04:00
Andreas Olofsson
a991a4fc06 Fixed mux bug in spi
- copy paste error
2016-03-21 20:49:39 -04:00
Andreas Olofsson
bc6641bcd0 Simplifying state machine on spi master
- Divide and conquer, use the  par2ser wait signal to hold off on read
- Removed the stupid byte done state! Was too complicated.
2016-03-21 20:48:18 -04:00
Andreas Olofsson
2a993815c3 Fixed readback bug
- Only readback on reads
2016-03-21 20:47:48 -04:00
Andreas Olofsson
71230c8c95 Resetting slave par2ser with ss (not nreset!)
- Shifting out on positive edge of sclk
2016-03-21 20:46:05 -04:00
Andreas Olofsson
7b3ca453f4 Looping back master spi access/packet to driver/stimulus 2016-03-21 20:27:10 -04:00
Andreas Olofsson
c9b2b9e0d8 Fixing basic spi test to fit new clock divider 2016-03-21 20:26:29 -04:00
Andreas Olofsson
b89f451c2f Fixing basic par2ser stall bug
- don't start new transfer until current transfer is done
2016-03-21 14:32:15 -04:00
Andreas Olofsson
1972fd21b6 Stressing pushback by removing the training wheels
-Checks block with full throttle and with waits (for debug)
2016-03-21 14:30:38 -04:00
Andreas Olofsson
d26d3efbc1 Fixing fifo status for mtx
(signals were unconnected)
2016-03-21 14:29:59 -04:00
Andreas Olofsson
29ae5b462b Adding mio test to stress fifo
-pushback looks good!
2016-03-21 14:29:03 -04:00
Andreas Olofsson
3175010236 MIO debug
- fixing msbfirst packet mode bug
- fixing lsbfirst packet mode bug
- fixing clkphase writing bug
- changing default to msb first
- making a single DEF_CFG and DEF_CLK parameters (it was getting out of hand)
- improved test to do emode/amode testing, and writing to registers
-"amode" now works!!**
2016-03-21 13:50:23 -04:00
Andreas Olofsson
87b502ba73 Changing transmit order for mtx_io
-Making msbfirst the defaualt (looks cleaner on scope)
-Swapping bytes on msbfirst and ddr mode
-Implementing sdr mode on RX
2016-03-21 13:48:57 -04:00
Andreas Olofsson
8709e0ff08 Adding decoding in MIO dut for register acess
-no remote addresses should have bits 31:20 set to zero, so this seems like a safe hack for differentiating between data and control instructions
2016-03-21 13:47:27 -04:00
Andreas Olofsson
18084bf63f MIO cleanup
-adding target parameter to fifo
-fixing rx protocol bugs
-adding defaults to register file, usually these should be set to zero and
-don't clock gate the DDR TX, just causes output to toggle like clock, BAD!
-fixed status register sticky bug
-adding autoincrement feature in amode
-fixing dut file for new "mio" subsystem
-**emesh packet now goes through in loopback!!!**
2016-03-21 11:27:35 -04:00
Andreas Olofsson
29aff43b59 Adding mio sub system module
-Much easier to use and test, includes clockdiv and regs in one module
-Note that it's still possible to use the mio_dp raw if you tie off signals to constants and bring your own clock.
-Having both approachs should make everyone happy. Have found that SW developers usually can't write verilog and HW folks don't know C (so can't write to registers)...
2016-03-21 11:25:33 -04:00
Andreas Olofsson
dc51ad3935 Adding mio-->emesh interface
-Select between autoincrement mode and pass through mode with "amode"
2016-03-21 11:25:03 -04:00
Andreas Olofsson
8633b09de2 Adding constant for mio
-Not sure the order works here...
2016-03-21 11:24:19 -04:00
Andreas Olofsson
a2aa5e8b5b Changing CONFIG bitfield in MIO 2016-03-21 11:23:25 -04:00
Andreas Olofsson
35f74f615f Adding build_all script
-So many modules depend on each other, so you need to ability to compile all when you make a change to a core module
2016-03-21 11:22:24 -04:00
Andreas Olofsson
7f0491d206 Cleaning up GPIO
- AW parameter was missing in p2e
- Blocking input data with input enable (alsom done at io pad)
2016-03-21 11:20:59 -04:00
Andreas Olofsson
93154c38f8 Adding special div2 logic for clock divider
- Using negedge of clock for phase shifting 2nd clock by 90 degrees. Used by elink and mio
2016-03-21 11:19:25 -04:00
Andreas Olofsson
3fa5fce86f Cleaning up fifos
- Making default parameter generic (will need to fix elink next..)
- Brining out fifo status for cdc module, goes to status registers (very useful for debugging)
2016-03-21 11:18:07 -04:00
Andreas Olofsson
b61d55533e Fixing par2ser bugs
-access out signal was broken (may need to fix again for spi)
-lsbfirst mode was broken
-made datasize 8 bits at interface
2016-03-21 11:16:42 -04:00
Andreas Olofsson
490a3f6be1 SPI compilation cleanup
- due to changes in par2ser and clock divider
- disadvantage of using common modules that change...
2016-03-21 11:15:41 -04:00
Andreas Olofsson
fec6a98d90 Refactoring mio
- changing datapath name to mio_dp (new methodology)
- top level should be complete block (with control + clock) for ease uf use
- clock renaming
2016-03-21 06:15:50 -04:00
Andreas Olofsson
5b799de0eb Augmenting dv for mio
- now includes mio regs as well
- next: create a complete block, ie dog fooding to include the mio_regs an axi interface, and a decoder interface to make it look like a subsystem (like the elink)
2016-03-20 22:40:36 -04:00
Andreas Olofsson
5edf209983 New MIO integration
- removing tx protocol block (reduces to par2ser)
- adding status bits to interface
- adding control signals from mio_regs
2016-03-20 22:39:22 -04:00
Andreas Olofsson
5ff50f78c0 Fixing mtx io logic
- adding support for single data rate
- removing wait logic from io registers, should only go to fifo
2016-03-20 22:37:50 -04:00
Andreas Olofsson
d800325f50 Reformatting to use "N" as the main parameters
-simpler..
2016-03-20 22:37:30 -04:00
Andreas Olofsson
308b46366a Refactoring rx to use ser2par block 2016-03-20 22:36:33 -04:00
Andreas Olofsson
c18177c8a7 Adding register
- These can be used to make the configuration of the mio datapath programmable
- This is what I should have done for the elink. Always separate the control from the datapath!!
2016-03-20 22:35:43 -04:00
Andreas Olofsson
f6f1009b52 Removing protocol block, redundant 2016-03-20 22:35:30 -04:00
Andreas Olofsson
d1fd144374 New and improved MIO interface 2016-03-20 22:33:57 -04:00
Andreas Olofsson
e5a8227509 Adding features to clock divider
-splitting out period from phase
-adding a second phase shifted clock (running off one counter)
-adding orthogonal control of rising and falling edge
2016-03-20 18:17:26 -04:00
Andreas Olofsson
015b969ac2 Making default parameter N=1 for muxes
- Less reconfiguring of parameters at instantiation time
2016-03-17 23:41:56 -04:00
Andreas Olofsson
e36a817846 Fixing link script 2016-03-13 09:31:45 -04:00
Andreas Olofsson
4b1372eb3b Implementing GPIO readback circuit
-added test, looks good
-reduced decoder width to 16 regs (seems reasonable for gpio)
2016-03-13 09:28:17 -04:00
Andreas Olofsson
4517280e45 Adding emesh readback circuit 2016-03-13 09:27:39 -04:00
Andreas Olofsson
a8182de5e1 Adding environment setup script 2016-03-12 16:49:56 -05:00
Andreas Olofsson
4d172960c1 Renaming the generic dut template file 2016-03-11 16:40:30 -05:00
Andreas Olofsson
e1f8b1d6c4 Adding dummy dut to make autocomplete work in emacs 2016-03-11 16:38:17 -05:00
Andreas Olofsson
74d1a9dc72 Fixing SPI header file inclusion issue 2016-03-11 15:08:01 -05:00