Florent Kermarrec [Fri, 19 Dec 2014 16:27:44 +0000 (17:27 +0100)]
SATAPHYDatapathRX: use Converter and simplify
Florent Kermarrec [Fri, 19 Dec 2014 16:13:03 +0000 (17:13 +0100)]
SATAPHYDatapathTX: use Converter and simplify
Florent Kermarrec [Fri, 19 Dec 2014 15:48:22 +0000 (16:48 +0100)]
add phy_datapath_tb and start datapath simplification
Florent Kermarrec [Fri, 19 Dec 2014 10:15:01 +0000 (11:15 +0100)]
add cont_tb and rewrite cont
Florent Kermarrec [Fri, 19 Dec 2014 00:35:18 +0000 (01:35 +0100)]
use new implicit submodules collection and Pipeline
Florent Kermarrec [Fri, 19 Dec 2014 00:23:04 +0000 (01:23 +0100)]
link_tb: simplify using implicit submodules collect
Florent Kermarrec [Thu, 18 Dec 2014 17:02:35 +0000 (18:02 +0100)]
make ctrl/datapath in phy vendor agnostics and simplify imports
Florent Kermarrec [Thu, 18 Dec 2014 15:45:12 +0000 (16:45 +0100)]
test: clean up imports
Florent Kermarrec [Thu, 18 Dec 2014 12:15:39 +0000 (13:15 +0100)]
test: create generic PacketStreamer/PacketLogger and use it in link_tb/command_tb
Florent Kermarrec [Wed, 17 Dec 2014 19:57:37 +0000 (20:57 +0100)]
phy: use vivado parameters and fix RX datapath (LSB first)
Florent Kermarrec [Wed, 17 Dec 2014 17:03:11 +0000 (18:03 +0100)]
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...
Florent Kermarrec [Wed, 17 Dec 2014 11:50:02 +0000 (12:50 +0100)]
add very basic PHY stimulator (to see HDD behaviour when we send primitives)
Florent Kermarrec [Wed, 17 Dec 2014 11:07:11 +0000 (12:07 +0100)]
use Vivado programmer instead of IMPACT
Florent Kermarrec [Wed, 17 Dec 2014 11:03:52 +0000 (12:03 +0100)]
fix compilation and use new cpu_csr_regions
Florent Kermarrec [Wed, 17 Dec 2014 07:58:02 +0000 (08:58 +0100)]
improve check function
Florent Kermarrec [Mon, 15 Dec 2014 19:00:19 +0000 (20:00 +0100)]
link_tb: fix cont regression
Florent Kermarrec [Mon, 15 Dec 2014 18:48:22 +0000 (19:48 +0100)]
bist: add count to bist parameters
Florent Kermarrec [Mon, 15 Dec 2014 18:33:38 +0000 (19:33 +0100)]
move Counter to common and use it in all modules
Florent Kermarrec [Mon, 15 Dec 2014 18:13:32 +0000 (19:13 +0100)]
create SATACON and use it in bist_tb
Florent Kermarrec [Mon, 15 Dec 2014 18:04:45 +0000 (19:04 +0100)]
bist: add ctrl_errors/data_errors and clean up
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