Florent Kermarrec [Mon, 15 Dec 2014 18:04:07 +0000 (19:04 +0100)]
hdd: improve debug print
Florent Kermarrec [Mon, 15 Dec 2014 15:44:12 +0000 (16:44 +0100)]
add simple synthetizable BIST
Florent Kermarrec [Mon, 15 Dec 2014 14:34:00 +0000 (15:34 +0100)]
command: fix ValueError msg
Florent Kermarrec [Mon, 15 Dec 2014 14:31:08 +0000 (15:31 +0100)]
command: memorize data on RX path before presenting it to the user
Florent Kermarrec [Mon, 15 Dec 2014 12:38:50 +0000 (13:38 +0100)]
transport: add _get_item and simplify _encode_cmd/_decode_cmd
Florent Kermarrec [Mon, 15 Dec 2014 12:26:53 +0000 (13:26 +0100)]
modify addressing (in sectors) and improve hdd model debug
Florent Kermarrec [Sun, 14 Dec 2014 20:03:14 +0000 (21:03 +0100)]
command: fix TX path with random acknowledge
Florent Kermarrec [Sun, 14 Dec 2014 19:30:21 +0000 (20:30 +0100)]
command: address/length in bytes
Florent Kermarrec [Sun, 14 Dec 2014 19:30:01 +0000 (20:30 +0100)]
hdd: manage sector_size, limitation to 2048 dwords per dma
Florent Kermarrec [Sun, 14 Dec 2014 15:49:35 +0000 (16:49 +0100)]
hdd: rearrange code (will be easier to understand)
Florent Kermarrec [Sun, 14 Dec 2014 15:38:38 +0000 (16:38 +0100)]
command_tb: add random (still something to fix on TX)
Florent Kermarrec [Sun, 14 Dec 2014 15:20:22 +0000 (16:20 +0100)]
rename bfm to hdd and clean up
Florent Kermarrec [Sun, 14 Dec 2014 14:32:00 +0000 (15:32 +0100)]
command: add fsm for RX Path and manage D2H response in bfm
Florent Kermarrec [Sun, 14 Dec 2014 12:14:32 +0000 (13:14 +0100)]
bfm: fix HDD read_dma_cmd, identify_dma_cmd and clean up
Florent Kermarrec [Sun, 14 Dec 2014 11:59:02 +0000 (12:59 +0100)]
transport: generate sop on RX path
Florent Kermarrec [Sun, 14 Dec 2014 11:49:35 +0000 (12:49 +0100)]
command_tb: add streamer and logger
Florent Kermarrec [Sun, 14 Dec 2014 10:44:12 +0000 (11:44 +0100)]
bfm: create basic HDD model
Florent Kermarrec [Sun, 14 Dec 2014 09:57:16 +0000 (10:57 +0100)]
remove transport_tb (transport will be tested in command_tb)
Florent Kermarrec [Sun, 14 Dec 2014 09:52:56 +0000 (10:52 +0100)]
use description instead of layout
Florent Kermarrec [Sun, 14 Dec 2014 09:45:26 +0000 (10:45 +0100)]
regroup all constants/ definitions in common
Florent Kermarrec [Sat, 13 Dec 2014 10:33:22 +0000 (11:33 +0100)]
command: wip
Florent Kermarrec [Sat, 13 Dec 2014 00:18:08 +0000 (01:18 +0100)]
bfm: dma_skeleton
Florent Kermarrec [Fri, 12 Dec 2014 21:26:04 +0000 (22:26 +0100)]
command: code TX part and add command_tb
Florent Kermarrec [Fri, 12 Dec 2014 17:16:30 +0000 (18:16 +0100)]
transport: remove dma_setup and pio_setup_d2h (not needed our controller)
Florent Kermarrec [Fri, 12 Dec 2014 13:35:48 +0000 (14:35 +0100)]
remove Layer in module names
Florent Kermarrec [Fri, 12 Dec 2014 13:31:00 +0000 (14:31 +0100)]
transport: merge cmd and data Sink/Source, will be easier
Florent Kermarrec [Fri, 12 Dec 2014 10:22:21 +0000 (11:22 +0100)]
transport_tb: add basic test for TX path
Florent Kermarrec [Thu, 11 Dec 2014 23:56:29 +0000 (00:56 +0100)]
transport: add transport_tb skeleton and fix compilation
Florent Kermarrec [Thu, 11 Dec 2014 20:56:56 +0000 (21:56 +0100)]
transport: code SATATransportLayerRX (untested)
Florent Kermarrec [Thu, 11 Dec 2014 19:19:14 +0000 (20:19 +0100)]
transport: code SATATransportLayerTX (untested)
Florent Kermarrec [Thu, 11 Dec 2014 17:35:56 +0000 (18:35 +0100)]
phy: remove ALIGN primitives on RX path
Florent Kermarrec [Sat, 6 Dec 2014 13:35:18 +0000 (14:35 +0100)]
link: add auto-check on link_tb
Florent Kermarrec [Sat, 6 Dec 2014 00:23:03 +0000 (01:23 +0100)]
link: fix CONT on RX path
Florent Kermarrec [Fri, 5 Dec 2014 20:27:26 +0000 (21:27 +0100)]
link: test HOLD on RX path
Florent Kermarrec [Fri, 5 Dec 2014 19:26:09 +0000 (20:26 +0100)]
link: test RX path
Florent Kermarrec [Fri, 5 Dec 2014 17:00:02 +0000 (18:00 +0100)]
link_tb: use LinkTXPacket and LinkRXPacket from bfm
Florent Kermarrec [Fri, 5 Dec 2014 16:48:01 +0000 (17:48 +0100)]
move test
Florent Kermarrec [Fri, 5 Dec 2014 00:13:55 +0000 (01:13 +0100)]
bfm: add FIS decoding/encoding
Florent Kermarrec [Thu, 4 Dec 2014 22:43:21 +0000 (23:43 +0100)]
bfm: rewrite it and split Physical / Link layers
Florent Kermarrec [Wed, 3 Dec 2014 15:32:55 +0000 (16:32 +0100)]
transport: define FIS layouts
Florent Kermarrec [Wed, 3 Dec 2014 14:29:01 +0000 (15:29 +0100)]
link: split SATALinkLayer in SATALinkLayerTX and SATALinkLayerRX
Florent Kermarrec [Wed, 3 Dec 2014 10:50:31 +0000 (11:50 +0100)]
link: manage CONT on RX path
Florent Kermarrec [Wed, 3 Dec 2014 10:12:26 +0000 (11:12 +0100)]
link: manage CONT on TX path
Florent Kermarrec [Wed, 3 Dec 2014 08:17:51 +0000 (09:17 +0100)]
link: simplify BFM
Florent Kermarrec [Tue, 2 Dec 2014 20:34:16 +0000 (21:34 +0100)]
link: manage hold
Florent Kermarrec [Tue, 2 Dec 2014 19:02:43 +0000 (20:02 +0100)]
link: add CRC check to BFM
Florent Kermarrec [Tue, 2 Dec 2014 18:53:13 +0000 (19:53 +0100)]
link: fix link_tb (due to others modifications)
Florent Kermarrec [Tue, 2 Dec 2014 18:24:46 +0000 (19:24 +0100)]
link: improve and clean up crc_tb, scrambler_tb
Florent Kermarrec [Wed, 12 Nov 2014 17:20:34 +0000 (18:20 +0100)]
link: wip bfm
Florent Kermarrec [Tue, 11 Nov 2014 17:47:34 +0000 (18:47 +0100)]
link: prepare simulation
Florent Kermarrec [Tue, 11 Nov 2014 15:15:28 +0000 (16:15 +0100)]
clean up
Florent Kermarrec [Tue, 11 Nov 2014 13:54:54 +0000 (14:54 +0100)]
use new EndpointDescription
Florent Kermarrec [Tue, 11 Nov 2014 11:26:32 +0000 (12:26 +0100)]
link: SATALinkLayer skeleton
Florent Kermarrec [Tue, 11 Nov 2014 09:19:24 +0000 (10:19 +0100)]
phy: use primitives dict and use only sata.std
Florent Kermarrec [Tue, 11 Nov 2014 08:57:43 +0000 (09:57 +0100)]
phy: send 2 ALIGN primitives every 256 DWORDs
Florent Kermarrec [Tue, 4 Nov 2014 16:35:46 +0000 (17:35 +0100)]
link: add SATALinkLayer skeleton (wip)
Florent Kermarrec [Tue, 4 Nov 2014 16:06:03 +0000 (17:06 +0100)]
link: improve crc_tb/ preamble_tb and increase length
Florent Kermarrec [Tue, 4 Nov 2014 10:40:43 +0000 (11:40 +0100)]
link: add Scrambler and testbench
Florent Kermarrec [Mon, 3 Nov 2014 17:54:41 +0000 (18:54 +0100)]
link: add CRC and testbench
Florent Kermarrec [Mon, 3 Nov 2014 17:11:14 +0000 (18:11 +0100)]
sata/link: add crc and scrambler C models from SATA specification
Florent Kermarrec [Mon, 3 Nov 2014 16:38:12 +0000 (17:38 +0100)]
move code and create a directory for each layer
Florent Kermarrec [Tue, 28 Oct 2014 10:30:15 +0000 (11:30 +0100)]
remove DRP ports (won't be used for now)
Florent Kermarrec [Fri, 24 Oct 2014 17:24:05 +0000 (19:24 +0200)]
various fixes and simplifications, SATA1 & SATA2 OK
Florent Kermarrec [Fri, 24 Oct 2014 10:29:29 +0000 (12:29 +0200)]
platforms: merge but keep support for iMPACT for now (xc3sprog need to be tested on Windows)
Florent Kermarrec [Thu, 16 Oct 2014 08:38:26 +0000 (10:38 +0200)]
ctrl: drive txcomwake and not gtx.txcomwake in K7SATAPHYDeviceCtrl
Florent Kermarrec [Tue, 30 Sep 2014 09:04:36 +0000 (11:04 +0200)]
revert simulation design and add wave
Florent Kermarrec [Tue, 30 Sep 2014 09:03:36 +0000 (11:03 +0200)]
add .payload. to Sink and Source to be compatible with upstream Migen
Florent Kermarrec [Tue, 30 Sep 2014 08:55:21 +0000 (10:55 +0200)]
instanciate GTXE2_COMMON (seems recommended in AR43339)
Florent Kermarrec [Tue, 30 Sep 2014 07:29:15 +0000 (09:29 +0200)]
test to visualize OOB with Miscope
Florent Kermarrec [Tue, 30 Sep 2014 07:07:15 +0000 (09:07 +0200)]
use SGMII clk (125MHz) and SFP for test on KC705
Florent Kermarrec [Mon, 29 Sep 2014 16:25:24 +0000 (18:25 +0200)]
simplify and clean up
Florent Kermarrec [Mon, 29 Sep 2014 15:12:02 +0000 (17:12 +0200)]
sim working
Florent Kermarrec [Mon, 29 Sep 2014 11:02:11 +0000 (13:02 +0200)]
fix alignment (still some transmissions errors --> need to check clocks and resets)
Florent Kermarrec [Sat, 27 Sep 2014 15:26:52 +0000 (17:26 +0200)]
fix and simplify ctrl fsms, OOB OK, align KO
Florent Kermarrec [Sat, 27 Sep 2014 15:25:49 +0000 (17:25 +0200)]
gtx: add resynchronization on control signals
Florent Kermarrec [Sat, 27 Sep 2014 14:22:40 +0000 (16:22 +0200)]
mmcm: configure default divider with default_speed
Florent Kermarrec [Sat, 27 Sep 2014 14:10:39 +0000 (16:10 +0200)]
add tx_reset_fsm and rx_reset_fsm
Florent Kermarrec [Sat, 27 Sep 2014 13:34:28 +0000 (15:34 +0200)]
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.
Florent Kermarrec [Sat, 27 Sep 2014 11:33:43 +0000 (13:33 +0200)]
clocking: clean up and add comments
Florent Kermarrec [Fri, 26 Sep 2014 21:27:25 +0000 (23:27 +0200)]
host and device communicate with OOB, now need to fix ctrl
Florent Kermarrec [Fri, 26 Sep 2014 19:52:32 +0000 (21:52 +0200)]
reset and lock of PLL OK. We see OOB signals on the link but they are not decoded by the device.
Florent Kermarrec [Fri, 26 Sep 2014 09:36:28 +0000 (11:36 +0200)]
add modelsim simulation and start fixing init
Florent Kermarrec [Thu, 25 Sep 2014 13:37:49 +0000 (15:37 +0200)]
modify TestDesign to be able to simulate phy with host <--> device loopback
Florent Kermarrec [Thu, 25 Sep 2014 12:52:16 +0000 (14:52 +0200)]
move some logic outside of GTX
Florent Kermarrec [Thu, 25 Sep 2014 12:14:11 +0000 (14:14 +0200)]
clean up (thanks to Sebastien)
Florent Kermarrec [Wed, 24 Sep 2014 12:28:52 +0000 (14:28 +0200)]
integrate phy in test design and start fix syntax errors
Florent Kermarrec [Wed, 24 Sep 2014 11:56:32 +0000 (13:56 +0200)]
instanciate device or host controller
Florent Kermarrec [Wed, 24 Sep 2014 11:56:12 +0000 (13:56 +0200)]
manage clock domain crossing and data width conversion in gtx
Florent Kermarrec [Wed, 24 Sep 2014 11:55:06 +0000 (13:55 +0200)]
create sata clock (sata_tx/2 for a 32 bits data path)
Florent Kermarrec [Wed, 24 Sep 2014 10:13:43 +0000 (12:13 +0200)]
realign rxdata / rxcharisk directly in gtx
Florent Kermarrec [Wed, 24 Sep 2014 09:37:28 +0000 (11:37 +0200)]
add device ctrl skeleton (we will use it for simulation with the host)
Florent Kermarrec [Wed, 24 Sep 2014 09:07:36 +0000 (11:07 +0200)]
more ctrl skeleton
Florent Kermarrec [Tue, 23 Sep 2014 22:01:01 +0000 (00:01 +0200)]
add ctrl skeleton
Florent Kermarrec [Tue, 23 Sep 2014 21:03:32 +0000 (23:03 +0200)]
rearrange code and remove datapath for now
Florent Kermarrec [Tue, 23 Sep 2014 20:40:01 +0000 (22:40 +0200)]
clean up and add K7SATAGTXReconfig skeleton (empty but we don't need it for now)
Florent Kermarrec [Tue, 23 Sep 2014 20:17:08 +0000 (22:17 +0200)]
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)
Florent Kermarrec [Tue, 23 Sep 2014 15:36:11 +0000 (17:36 +0200)]
add data path from another design (need to be adapted to SATA specification)
Florent Kermarrec [Tue, 23 Sep 2014 13:58:34 +0000 (15:58 +0200)]
add SATAGTX with RX/TX clocking and reset (no DRP for now)
Florent Kermarrec [Tue, 23 Sep 2014 12:11:14 +0000 (14:11 +0200)]
add dict for fbdiv computation on GTXE2_COMMON
Florent Kermarrec [Tue, 23 Sep 2014 12:03:51 +0000 (14:03 +0200)]
create k7satagtx.py and move GTXE2 primitive inside