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
Florent Kermarrec
0959f5b979
command: add fsm for RX Path and manage D2H response in bfm
2014-12-14 15:32:00 +01:00
Florent Kermarrec
f01a8934f2
bfm: fix HDD read_dma_cmd, identify_dma_cmd and clean up
2014-12-14 13:14:32 +01:00
Florent Kermarrec
623a3883c6
transport: generate sop on RX path
2014-12-14 12:59:02 +01:00
Florent Kermarrec
a0cb0c6474
command_tb: add streamer and logger
2014-12-14 12:49:35 +01:00
Florent Kermarrec
b6d5e23264
bfm: create basic HDD model
2014-12-14 11:44:12 +01:00
Florent Kermarrec
1e68b1a907
remove transport_tb (transport will be tested in command_tb)
2014-12-14 10:57:16 +01:00
Florent Kermarrec
b1c71f26bd
use description instead of layout
2014-12-14 10:52:56 +01:00
Florent Kermarrec
8f9efde39e
regroup all constants/ definitions in common
2014-12-14 10:45:26 +01:00
Florent Kermarrec
11c99f8377
command: wip
2014-12-13 11:33:22 +01:00
Florent Kermarrec
eb226c1ade
bfm: dma_skeleton
2014-12-13 01:18:08 +01:00
Florent Kermarrec
66ef7950ab
command: code TX part and add command_tb
2014-12-12 22:26:04 +01:00
Florent Kermarrec
71f6a16913
transport: remove dma_setup and pio_setup_d2h (not needed our controller)
2014-12-12 18:16:30 +01:00
Florent Kermarrec
fe875ea650
remove Layer in module names
2014-12-12 14:35:48 +01:00
Florent Kermarrec
b9a9e075fd
transport: merge cmd and data Sink/Source, will be easier
2014-12-12 14:31:00 +01:00
Florent Kermarrec
9ae703efbe
transport_tb: add basic test for TX path
2014-12-12 11:22:21 +01:00
Florent Kermarrec
7ea46ed7a6
transport: add transport_tb skeleton and fix compilation
2014-12-12 00:56:29 +01:00
Florent Kermarrec
ed9d9e1375
transport: code SATATransportLayerRX (untested)
2014-12-11 21:56:56 +01:00
Florent Kermarrec
1aab9a449e
transport: code SATATransportLayerTX (untested)
2014-12-11 20:19:14 +01:00
Florent Kermarrec
e4c0b4a11f
phy: remove ALIGN primitives on RX path
2014-12-11 18:35:56 +01:00
Florent Kermarrec
f976b65cf1
link: add auto-check on link_tb
2014-12-06 14:35:18 +01:00
Florent Kermarrec
0f50eab880
link: fix CONT on RX path
2014-12-06 01:23:03 +01:00
Florent Kermarrec
21a279af72
link: test HOLD on RX path
2014-12-05 21:27:26 +01:00
Florent Kermarrec
c28067d672
link: test RX path
2014-12-05 20:26:09 +01:00
Florent Kermarrec
b238c41b26
link_tb: use LinkTXPacket and LinkRXPacket from bfm
2014-12-05 18:00:02 +01:00
Florent Kermarrec
e900b9031c
move test
2014-12-05 17:48:01 +01:00
Florent Kermarrec
6f96338962
bfm: add FIS decoding/encoding
2014-12-05 01:13:55 +01:00
Florent Kermarrec
9da1f7fcbb
bfm: rewrite it and split Physical / Link layers
2014-12-04 23:43:21 +01:00
Florent Kermarrec
6e6243e983
transport: define FIS layouts
2014-12-03 16:53:20 +01:00
Florent Kermarrec
ddd4b65f44
link: split SATALinkLayer in SATALinkLayerTX and SATALinkLayerRX
2014-12-03 15:29:01 +01:00
Florent Kermarrec
d3974882e4
link: manage CONT on RX path
2014-12-03 11:50:31 +01:00
Florent Kermarrec
47a5a9529b
link: manage CONT on TX path
2014-12-03 11:12:26 +01:00
Florent Kermarrec
cab5b7b8f8
link: simplify BFM
2014-12-03 09:17:51 +01:00
Florent Kermarrec
6cc8686402
link: manage hold
2014-12-03 02:06:43 +01:00
Florent Kermarrec
ed97f378ff
link: add CRC check to BFM
2014-12-02 20:02:43 +01:00
Florent Kermarrec
f2757ef8dd
link: fix link_tb (due to others modifications)
2014-12-02 19:53:13 +01:00
Florent Kermarrec
31b9132dd9
link: improve and clean up crc_tb, scrambler_tb
2014-12-02 19:24:46 +01:00
Florent Kermarrec
2b7779d3b6
link: wip bfm
2014-11-12 18:20:34 +01:00
Florent Kermarrec
b423c1df4b
link: prepare simulation
2014-11-11 18:47:34 +01:00
Florent Kermarrec
64ed34b35a
clean up
2014-11-11 16:15:28 +01:00
Florent Kermarrec
705819f885
use new EndpointDescription
2014-11-11 14:54:54 +01:00
Florent Kermarrec
67aaf09b53
link: SATALinkLayer skeleton
2014-11-11 12:29:37 +01:00
Florent Kermarrec
294855e292
phy: use primitives dict and use only sata.std
2014-11-11 10:19:24 +01:00
Florent Kermarrec
30964db4a1
phy: send 2 ALIGN primitives every 256 DWORDs
2014-11-11 09:57:43 +01:00
Florent Kermarrec
353e7fc13b
link: add SATALinkLayer skeleton (wip)
2014-11-04 22:55:31 +01:00
Florent Kermarrec
8f6354f2a3
link: improve crc_tb/ preamble_tb and increase length
2014-11-04 17:06:03 +01:00
Florent Kermarrec
c810009387
link: add Scrambler and testbench
2014-11-04 16:40:21 +01:00
Florent Kermarrec
8062298668
link: add CRC and testbench
2014-11-04 10:33:11 +01:00
Florent Kermarrec
449daedab7
sata/link: add crc and scrambler C models from SATA specification
2014-11-03 18:11:14 +01:00
Florent Kermarrec
47b5ff5e33
move code and create a directory for each layer
2014-11-03 17:38:12 +01:00
Florent Kermarrec
25e0ccae9a
remove DRP ports (won't be used for now)
2014-10-28 11:33:15 +01:00
Florent Kermarrec
3f7406a937
various fixes and simplifications, SATA1 & SATA2 OK
2014-10-28 02:15:19 +01:00
Florent Kermarrec
bbfce2b707
ctrl: drive txcomwake and not gtx.txcomwake in K7SATAPHYDeviceCtrl
2014-10-16 10:38:26 +02:00
Florent Kermarrec
110580eb2e
add .payload. to Sink and Source to be compatible with upstream Migen
2014-09-30 11:03:36 +02:00
Florent Kermarrec
f5001751d0
instanciate GTXE2_COMMON (seems recommended in AR43339)
2014-09-30 10:57:52 +02:00
Florent Kermarrec
d47917e480
simplify and clean up
2014-09-30 00:50:03 +02:00
Florent Kermarrec
0791b9e2e4
sim working
2014-09-29 17:12:02 +02:00
Florent Kermarrec
b47153fbfa
fix alignment (still some transmissions errors --> need to check clocks and resets)
2014-09-29 15:37:35 +02:00
Florent Kermarrec
ed752758b0
fix and simplify ctrl fsms, OOB OK, align KO
2014-09-27 17:45:46 +02:00
Florent Kermarrec
2f769e4e4e
gtx: add resynchronization on control signals
2014-09-27 17:26:05 +02:00
Florent Kermarrec
f23c5aa724
mmcm: configure default divider with default_speed
2014-09-27 16:22:40 +02:00
Florent Kermarrec
45f7f8aff5
add tx_reset_fsm and rx_reset_fsm
2014-09-27 16:10:39 +02:00
Florent Kermarrec
c27f24c4c0
reorganize code
...
- use sys_clk of 166.66MHz and using it instead of sata clk.
- rename clocking to CRG since it also handles resets.
- create datapath and move code from gtx.
2014-09-27 15:34:28 +02:00
Florent Kermarrec
879478a6e4
clocking: clean up and add comments
2014-09-27 13:33:43 +02:00
Florent Kermarrec
387cf90cf8
host and device communicate with OOB, now need to fix ctrl
2014-09-26 23:30:30 +02:00
Florent Kermarrec
01da43ecb2
reset and lock of PLL OK. We see OOB signals on the link but they are not decoded by the device.
2014-09-26 22:31:32 +02:00
Florent Kermarrec
dfbec91a62
add modelsim simulation and start fixing init
2014-09-26 17:05:05 +02:00
Florent Kermarrec
7e14c4fc51
move some logic outside of GTX
2014-09-25 15:23:56 +02:00
Florent Kermarrec
c008dfdd98
clean up (thanks to Sebastien)
2014-09-25 14:17:25 +02:00
Florent Kermarrec
435bc22fa0
integrate phy in test design and start fix syntax errors
2014-09-24 16:07:34 +02:00
Florent Kermarrec
18009303ae
instanciate device or host controller
2014-09-24 14:00:00 +02:00
Florent Kermarrec
60324295fa
manage clock domain crossing and data width conversion in gtx
2014-09-24 13:56:12 +02:00
Florent Kermarrec
f436069a04
create sata clock (sata_tx/2 for a 32 bits data path)
2014-09-24 13:55:06 +02:00
Florent Kermarrec
7790105913
realign rxdata / rxcharisk directly in gtx
2014-09-24 12:13:43 +02:00
Florent Kermarrec
f74471d027
add device ctrl skeleton (we will use it for simulation with the host)
2014-09-24 11:37:28 +02:00
Florent Kermarrec
d78cae1b57
more ctrl skeleton
2014-09-24 11:07:36 +02:00
Florent Kermarrec
71bfd036d0
add ctrl skeleton
2014-09-24 00:01:01 +02:00
Florent Kermarrec
fa509b3365
rearrange code and remove datapath for now
2014-09-23 23:03:32 +02:00
Florent Kermarrec
22ea5b08b0
clean up and add K7SATAGTXReconfig skeleton (empty but we don't need it for now)
2014-09-23 22:40:01 +02:00
Florent Kermarrec
674e0b3581
remove GTXE2_COMMON (we use in fact CPLL and not QPLL, GTXE2_COMMON was here in design just because of an old ISE bug)
...
(see http://www.xilinx.com/support/answers/45410.html for more information)
2014-09-23 22:17:08 +02:00
Florent Kermarrec
e0fd313ce0
add data path from another design (need to be adapted to SATA specification)
2014-09-23 17:36:11 +02:00
Florent Kermarrec
d55db1688b
add SATAGTX with RX/TX clocking and reset (no DRP for now)
2014-09-23 17:18:03 +02:00
Florent Kermarrec
cbbbf8de8b
add dict for fbdiv computation on GTXE2_COMMON
2014-09-23 14:11:14 +02:00
Florent Kermarrec
4aff15bb74
create k7satagtx.py and move GTXE2 primitive inside
2014-09-23 14:03:51 +02:00
Florent Kermarrec
7422b94f90
create GTXE2_CHANNEL & GTXE2_COMMON class / add IO signals and parameters
2014-09-23 13:57:02 +02:00
Florent Kermarrec
1a5a2d10e3
fill GTXE2_COMMON constants parameters and signals for SATA / disconnect unused output ports
2014-09-23 12:01:57 +02:00
Florent Kermarrec
fc64b44391
fill GTXE2_CHANNEL constants parameters and signals for SATA / disconnect unused output ports
2014-09-23 11:54:36 +02:00
Florent Kermarrec
ac8d8783cf
k7sataphy: add GTXE2_COMMON instance skeleton
2014-09-23 10:23:54 +02:00
Florent Kermarrec
bdf038f241
k7sataphy: add GTXE2_CHANNEL instance skeleton
2014-09-23 10:08:17 +02:00
Florent Kermarrec
7e31ef2152
init with repo with simple TestDesign
2014-09-22 13:36:43 +02:00