Commit graph

139 commits

Author SHA1 Message Date
Florent Kermarrec
1c03f72252 command: add robustness and simplify RX path 2015-01-07 18:49:10 +01:00
Florent Kermarrec
aed1064465 command: replace SyncFIFO with Buffer for cmd_buffer 2015-01-06 17:03:27 +01:00
Florent Kermarrec
a450079866 command: add support for larger DMAs 2015-01-06 16:48:19 +01:00
Florent Kermarrec
c08c0ffc4e link: check CRC on RX path 2014-12-25 17:15:35 +01:00
Florent Kermarrec
5575ecbcb2 test: fix link_tb and bist_tb 2014-12-25 12:28:06 +01:00
Florent Kermarrec
7efaef485f command: remove returns to IDLE state (will be better to add a timeout for a transfer and reset the fsm). 2014-12-24 15:08:06 +01:00
Florent Kermarrec
7df1d75dee use max_count of 16 and clean up 2014-12-23 23:19:48 +01:00
Florent Kermarrec
3e5a4ab097 add wr_only and rd_only mode to BIST (to test speed) and switch to 100MHz system clock 2014-12-23 20:41:13 +01:00
Florent Kermarrec
678ee33af4 improve BIST and clean up (remove support of identify command and debug code) 2014-12-23 19:27:52 +01:00
Florent Kermarrec
38d3f3697b test bist at high speed(working) 2014-12-23 01:39:41 +01:00
Florent Kermarrec
5e513c25c2 link: fix rx path 2014-12-22 20:58:38 +01:00
Florent Kermarrec
c17159754c add test_read / test_write (HOST<-->HDD transfers OK for the 3 tests, rx data seems to be stuck in link of command layer) 2014-12-20 16:50:34 +01:00
Florent Kermarrec
9dc6903c55 add identify device to command_tb and revert endianness (seems conform with Lecroy SATA Protocol suite samples)
it seems endianness is correct by is only printed in LSB first in Lecroy software
2014-12-20 13:26:07 +01:00
Florent Kermarrec
706fcb536d change FIS endianness (seems to be little endian) 2014-12-20 12:58:37 +01:00
Florent Kermarrec
d368a89bbf fix ack in idle in some fsm (implementation behaviour different from simulation) 2014-12-20 01:26:02 +01:00
Florent Kermarrec
35050ece9f add fsms to mila for debug 2014-12-20 00:03:03 +01:00
Florent Kermarrec
68a7ff6dc2 use new submodules collection to expose more fsm an modules 2014-12-19 22:50:35 +01:00
Florent Kermarrec
ea245542c6 link: add parameter to disable CONT insertion (will ease debug) 2014-12-19 22:32:11 +01:00
Florent Kermarrec
ea2b06b285 fix phy datapath, first communications between SATACON and a HDD... :) 2014-12-19 22:20:41 +01:00
Florent Kermarrec
33eed1aa79 SATAPHYDatapathRX: use Converter and simplify 2014-12-19 17:27:44 +01:00
Florent Kermarrec
0ab7ca6f28 SATAPHYDatapathTX: use Converter and simplify 2014-12-19 17:13:03 +01:00
Florent Kermarrec
8bb40241fa add phy_datapath_tb and start datapath simplification 2014-12-19 16:48:22 +01:00
Florent Kermarrec
9728a97834 add cont_tb and rewrite cont 2014-12-19 11:15:01 +01:00
Florent Kermarrec
9e14b1b051 use new implicit submodules collection and Pipeline 2014-12-19 01:35:18 +01:00
Florent Kermarrec
a8e1526407 link_tb: simplify using implicit submodules collect 2014-12-19 01:23:04 +01:00
Florent Kermarrec
4f22bc807a make ctrl/datapath in phy vendor agnostics and simplify imports 2014-12-18 19:45:21 +01:00
Florent Kermarrec
9789a78aab test: clean up imports 2014-12-18 16:45:12 +01:00
Florent Kermarrec
9ba9470974 test: create generic PacketStreamer/PacketLogger and use it in link_tb/command_tb 2014-12-18 13:15:39 +01:00
Florent Kermarrec
bcc0be10ee phy: use vivado parameters and fix RX datapath (LSB first) 2014-12-17 23:49:55 +01:00
Florent Kermarrec
0f8f89a269 update clock constraints for SATA1 and use sys_clk of 200MHz
- data seems stable (mila capture) except when receive the ALIGN primtive from the device, we should maybe disable alignment on the HOST when link is ready...
2014-12-17 19:24:23 +01:00
Florent Kermarrec
5a16a5b46d add very basic PHY stimulator (to see HDD behaviour when we send primitives) 2014-12-17 17:57:37 +01:00
Florent Kermarrec
2c0115262b fix compilation and use new cpu_csr_regions 2014-12-17 12:03:52 +01:00
Florent Kermarrec
61bfbbff8a improve check function 2014-12-17 08:58:02 +01:00
Florent Kermarrec
a71fa2f522 link_tb: fix cont regression 2014-12-15 20:00:19 +01:00
Florent Kermarrec
fadd21fae2 bist: add count to bist parameters 2014-12-15 19:48:22 +01:00
Florent Kermarrec
13d75d3933 move Counter to common and use it in all modules 2014-12-15 19:33:38 +01:00
Florent Kermarrec
d88b127abb create SATACON and use it in bist_tb 2014-12-15 19:13:32 +01:00
Florent Kermarrec
ddb9d52270 bist: add ctrl_errors/data_errors and clean up 2014-12-15 19:04:45 +01:00
Florent Kermarrec
d193bd3321 hdd: improve debug print 2014-12-15 19:04:07 +01:00
Florent Kermarrec
707b43178b add simple synthetizable BIST 2014-12-15 16:44:12 +01:00
Florent Kermarrec
d4cd159c9c command: fix ValueError msg 2014-12-15 15:34:00 +01:00
Florent Kermarrec
0a1403cec5 command: memorize data on RX path before presenting it to the user 2014-12-15 15:31:08 +01:00
Florent Kermarrec
d970bfb140 transport: add _get_item and simplify _encode_cmd/_decode_cmd 2014-12-15 13:38:50 +01:00
Florent Kermarrec
f226de5ba0 modify addressing (in sectors) and improve hdd model debug 2014-12-15 13:26:53 +01:00
Florent Kermarrec
6a783ad291 command: fix TX path with random acknowledge 2014-12-14 21:03:14 +01:00
Florent Kermarrec
ddc99febb5 command: address/length in bytes 2014-12-14 20:30:21 +01:00
Florent Kermarrec
a284f2a9de hdd: manage sector_size, limitation to 2048 dwords per dma 2014-12-14 20:30:01 +01:00
Florent Kermarrec
8b21e5fd21 hdd: rearrange code (will be easier to understand) 2014-12-14 16:49:35 +01:00
Florent Kermarrec
79e82d6ccd command_tb: add random (still something to fix on TX) 2014-12-14 16:38:38 +01:00
Florent Kermarrec
46a39b7d41 rename bfm to hdd and clean up 2014-12-14 16:20:22 +01:00