litex.git
9 years agoadd option to implement or not mila (to see real ressource usage of the SATA controller)
Florent Kermarrec [Wed, 24 Dec 2014 14:57:42 +0000 (15:57 +0100)]
add option to implement or not mila (to see real ressource usage of the SATA controller)

9 years agocommand: remove returns to IDLE state (will be better to add a timeout for a transfer...
Florent Kermarrec [Wed, 24 Dec 2014 14:08:06 +0000 (15:08 +0100)]
command: remove returns to IDLE state (will be better to add a timeout for a transfer and reset the fsm).

9 years agoclean up TestDesign
Florent Kermarrec [Wed, 24 Dec 2014 14:05:17 +0000 (15:05 +0100)]
clean up TestDesign

9 years agouse max_count of 16 and clean up
Florent Kermarrec [Tue, 23 Dec 2014 22:19:48 +0000 (23:19 +0100)]
use max_count of 16 and clean up

9 years agoadd test_bist_mila to show how to capture data
Florent Kermarrec [Tue, 23 Dec 2014 19:56:03 +0000 (20:56 +0100)]
add test_bist_mila to show how to capture data

9 years agoadd test_bist with mila
Florent Kermarrec [Tue, 23 Dec 2014 19:41:35 +0000 (20:41 +0100)]
add test_bist with mila

9 years agoadd wr_only and rd_only mode to BIST (to test speed) and switch to 100MHz system...
Florent Kermarrec [Tue, 23 Dec 2014 18:44:39 +0000 (19:44 +0100)]
add wr_only and rd_only mode to BIST (to test speed) and switch to 100MHz system clock

9 years agoimprove BIST and clean up (remove support of identify command and debug code)
Florent Kermarrec [Tue, 23 Dec 2014 17:26:07 +0000 (18:26 +0100)]
improve BIST and clean up (remove support of identify command and debug code)

9 years agotest bist at high speed(working)
Florent Kermarrec [Tue, 23 Dec 2014 00:39:41 +0000 (01:39 +0100)]
test bist at high speed(working)

9 years agotest bist at slow speed (working)
Florent Kermarrec [Mon, 22 Dec 2014 23:41:39 +0000 (00:41 +0100)]
test bist at slow speed (working)

9 years agoread/write seems OK with CommandGenerator
Florent Kermarrec [Mon, 22 Dec 2014 23:08:22 +0000 (00:08 +0100)]
read/write seems OK with CommandGenerator

9 years agolink: fix rx path
Florent Kermarrec [Mon, 22 Dec 2014 19:58:38 +0000 (20:58 +0100)]
link: fix rx path

9 years agoadd test_read / test_write (HOST<-->HDD transfers OK for the 3 tests, rx data seems...
Florent Kermarrec [Sat, 20 Dec 2014 15:25:05 +0000 (16:25 +0100)]
add test_read / test_write (HOST<-->HDD transfers OK for the 3 tests, rx data seems to be stuck in link of command layer)

9 years agoadd mode generic CommandGenerator for debug
Florent Kermarrec [Sat, 20 Dec 2014 15:06:02 +0000 (16:06 +0100)]
add mode generic CommandGenerator for debug

9 years agoadd identify device to command_tb and revert endianness (seems conform with Lecroy...
Florent Kermarrec [Sat, 20 Dec 2014 12:26:07 +0000 (13:26 +0100)]
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

9 years agochange FIS endianness (seems to be little endian)
Florent Kermarrec [Sat, 20 Dec 2014 11:58:37 +0000 (12:58 +0100)]
change FIS endianness (seems to be little endian)

9 years agoadd primitives decoding in test_identify to ease debug
Florent Kermarrec [Sat, 20 Dec 2014 00:26:58 +0000 (01:26 +0100)]
add primitives decoding in test_identify to ease debug

9 years agofix ack in idle in some fsm (implementation behaviour different from simulation)
Florent Kermarrec [Sat, 20 Dec 2014 00:26:02 +0000 (01:26 +0100)]
fix ack in idle in some fsm (implementation behaviour different from simulation)

9 years agoadd fsms to mila for debug
Florent Kermarrec [Fri, 19 Dec 2014 22:10:51 +0000 (23:10 +0100)]
add fsms to mila for debug

9 years agouse new submodules collection to expose more fsm an modules
Florent Kermarrec [Fri, 19 Dec 2014 21:50:35 +0000 (22:50 +0100)]
use new submodules collection to expose more fsm an modules

9 years agolink: add parameter to disable CONT insertion (will ease debug)
Florent Kermarrec [Fri, 19 Dec 2014 21:32:11 +0000 (22:32 +0100)]
link: add parameter to disable CONT insertion (will ease debug)

9 years agofix phy datapath, first communications between SATACON and a HDD... :)
Florent Kermarrec [Fri, 19 Dec 2014 19:16:37 +0000 (20:16 +0100)]
fix phy datapath, first communications between SATACON and a HDD... :)

9 years agoprepare identify test with SATACON
Florent Kermarrec [Fri, 19 Dec 2014 18:02:31 +0000 (19:02 +0100)]
prepare identify test with SATACON

9 years agotest: change UART baudrate and test SATACONTRemover
Florent Kermarrec [Fri, 19 Dec 2014 16:45:02 +0000 (17:45 +0100)]
test: change UART baudrate and test SATACONTRemover

9 years agoSATAPHYDatapathRX: use Converter and simplify
Florent Kermarrec [Fri, 19 Dec 2014 16:27:44 +0000 (17:27 +0100)]
SATAPHYDatapathRX: use Converter and simplify

9 years agoSATAPHYDatapathTX: use Converter and simplify
Florent Kermarrec [Fri, 19 Dec 2014 16:13:03 +0000 (17:13 +0100)]
SATAPHYDatapathTX: use Converter and simplify

9 years agoadd phy_datapath_tb and start datapath simplification
Florent Kermarrec [Fri, 19 Dec 2014 15:48:22 +0000 (16:48 +0100)]
add phy_datapath_tb and start datapath simplification

9 years agoadd cont_tb and rewrite cont
Florent Kermarrec [Fri, 19 Dec 2014 10:15:01 +0000 (11:15 +0100)]
add cont_tb and rewrite cont

9 years agouse new implicit submodules collection and Pipeline
Florent Kermarrec [Fri, 19 Dec 2014 00:35:18 +0000 (01:35 +0100)]
use new implicit submodules collection and Pipeline

9 years agolink_tb: simplify using implicit submodules collect
Florent Kermarrec [Fri, 19 Dec 2014 00:23:04 +0000 (01:23 +0100)]
link_tb: simplify using implicit submodules collect

9 years agomake ctrl/datapath in phy vendor agnostics and simplify imports
Florent Kermarrec [Thu, 18 Dec 2014 17:02:35 +0000 (18:02 +0100)]
make ctrl/datapath in phy vendor agnostics and simplify imports

9 years agotest: clean up imports
Florent Kermarrec [Thu, 18 Dec 2014 15:45:12 +0000 (16:45 +0100)]
test: clean up imports

9 years agotest: create generic PacketStreamer/PacketLogger and use it in link_tb/command_tb
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

9 years agophy: use vivado parameters and fix RX datapath (LSB first)
Florent Kermarrec [Wed, 17 Dec 2014 19:57:37 +0000 (20:57 +0100)]
phy: use vivado parameters and fix RX datapath (LSB first)

9 years agoupdate clock constraints for SATA1 and use sys_clk of 200MHz
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...

9 years agoadd very basic PHY stimulator (to see HDD behaviour when we send primitives)
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)

9 years agouse Vivado programmer instead of IMPACT
Florent Kermarrec [Wed, 17 Dec 2014 11:07:11 +0000 (12:07 +0100)]
use Vivado programmer instead of IMPACT

9 years agofix compilation and use new cpu_csr_regions
Florent Kermarrec [Wed, 17 Dec 2014 11:03:52 +0000 (12:03 +0100)]
fix compilation and use new cpu_csr_regions

9 years agoimprove check function
Florent Kermarrec [Wed, 17 Dec 2014 07:58:02 +0000 (08:58 +0100)]
improve check function

9 years agolink_tb: fix cont regression
Florent Kermarrec [Mon, 15 Dec 2014 19:00:19 +0000 (20:00 +0100)]
link_tb: fix cont regression

9 years agobist: add count to bist parameters
Florent Kermarrec [Mon, 15 Dec 2014 18:48:22 +0000 (19:48 +0100)]
bist: add count to bist parameters

9 years agomove Counter to common and use it in all modules
Florent Kermarrec [Mon, 15 Dec 2014 18:33:38 +0000 (19:33 +0100)]
move Counter to common and use it in all modules

9 years agocreate SATACON and use it in bist_tb
Florent Kermarrec [Mon, 15 Dec 2014 18:13:32 +0000 (19:13 +0100)]
create SATACON and use it in bist_tb

9 years agobist: add ctrl_errors/data_errors and clean up
Florent Kermarrec [Mon, 15 Dec 2014 18:04:45 +0000 (19:04 +0100)]
bist: add ctrl_errors/data_errors and clean up

9 years agohdd: improve debug print
Florent Kermarrec [Mon, 15 Dec 2014 18:04:07 +0000 (19:04 +0100)]
hdd: improve debug print

9 years agoadd simple synthetizable BIST
Florent Kermarrec [Mon, 15 Dec 2014 15:44:12 +0000 (16:44 +0100)]
add simple synthetizable BIST

9 years agocommand: fix ValueError msg
Florent Kermarrec [Mon, 15 Dec 2014 14:34:00 +0000 (15:34 +0100)]
command: fix ValueError msg

9 years agocommand: memorize data on RX path before presenting it to the user
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

9 years agotransport: add _get_item and simplify _encode_cmd/_decode_cmd
Florent Kermarrec [Mon, 15 Dec 2014 12:38:50 +0000 (13:38 +0100)]
transport: add _get_item and simplify _encode_cmd/_decode_cmd

9 years agomodify addressing (in sectors) and improve hdd model debug
Florent Kermarrec [Mon, 15 Dec 2014 12:26:53 +0000 (13:26 +0100)]
modify addressing (in sectors) and improve hdd model debug

9 years agocommand: fix TX path with random acknowledge
Florent Kermarrec [Sun, 14 Dec 2014 20:03:14 +0000 (21:03 +0100)]
command: fix TX path with random acknowledge

9 years agocommand: address/length in bytes
Florent Kermarrec [Sun, 14 Dec 2014 19:30:21 +0000 (20:30 +0100)]
command: address/length in bytes

9 years agohdd: manage sector_size, limitation to 2048 dwords per dma
Florent Kermarrec [Sun, 14 Dec 2014 19:30:01 +0000 (20:30 +0100)]
hdd: manage sector_size, limitation to 2048 dwords per dma

9 years agohdd: rearrange code (will be easier to understand)
Florent Kermarrec [Sun, 14 Dec 2014 15:49:35 +0000 (16:49 +0100)]
hdd: rearrange code (will be easier to understand)

9 years agocommand_tb: add random (still something to fix on TX)
Florent Kermarrec [Sun, 14 Dec 2014 15:38:38 +0000 (16:38 +0100)]
command_tb: add random (still something to fix on TX)

9 years agorename bfm to hdd and clean up
Florent Kermarrec [Sun, 14 Dec 2014 15:20:22 +0000 (16:20 +0100)]
rename bfm to hdd and clean up

9 years agocommand: add fsm for RX Path and manage D2H response in bfm
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

9 years agobfm: fix HDD read_dma_cmd, identify_dma_cmd and clean up
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

9 years agotransport: generate sop on RX path
Florent Kermarrec [Sun, 14 Dec 2014 11:59:02 +0000 (12:59 +0100)]
transport: generate sop on RX path

9 years agocommand_tb: add streamer and logger
Florent Kermarrec [Sun, 14 Dec 2014 11:49:35 +0000 (12:49 +0100)]
command_tb: add streamer and logger

9 years agobfm: create basic HDD model
Florent Kermarrec [Sun, 14 Dec 2014 10:44:12 +0000 (11:44 +0100)]
bfm: create basic HDD model

9 years agoremove transport_tb (transport will be tested in command_tb)
Florent Kermarrec [Sun, 14 Dec 2014 09:57:16 +0000 (10:57 +0100)]
remove transport_tb (transport will be tested in command_tb)

9 years agouse description instead of layout
Florent Kermarrec [Sun, 14 Dec 2014 09:52:56 +0000 (10:52 +0100)]
use description instead of layout

9 years agoregroup all constants/ definitions in common
Florent Kermarrec [Sun, 14 Dec 2014 09:45:26 +0000 (10:45 +0100)]
regroup all constants/ definitions in common

9 years agocommand: wip
Florent Kermarrec [Sat, 13 Dec 2014 10:33:22 +0000 (11:33 +0100)]
command: wip

9 years agobfm: dma_skeleton
Florent Kermarrec [Sat, 13 Dec 2014 00:18:08 +0000 (01:18 +0100)]
bfm: dma_skeleton

9 years agocommand: code TX part and add command_tb
Florent Kermarrec [Fri, 12 Dec 2014 21:26:04 +0000 (22:26 +0100)]
command: code TX part and add command_tb

9 years agotransport: remove dma_setup and pio_setup_d2h (not needed our controller)
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)

9 years agoremove Layer in module names
Florent Kermarrec [Fri, 12 Dec 2014 13:35:48 +0000 (14:35 +0100)]
remove Layer in module names

9 years agotransport: merge cmd and data Sink/Source, will be easier
Florent Kermarrec [Fri, 12 Dec 2014 13:31:00 +0000 (14:31 +0100)]
transport: merge cmd and data Sink/Source, will be easier

9 years agotransport_tb: add basic test for TX path
Florent Kermarrec [Fri, 12 Dec 2014 10:22:21 +0000 (11:22 +0100)]
transport_tb: add basic test for TX path

9 years agotransport: add transport_tb skeleton and fix compilation
Florent Kermarrec [Thu, 11 Dec 2014 23:56:29 +0000 (00:56 +0100)]
transport: add transport_tb skeleton and fix compilation

9 years agotransport: code SATATransportLayerRX (untested)
Florent Kermarrec [Thu, 11 Dec 2014 20:56:56 +0000 (21:56 +0100)]
transport: code SATATransportLayerRX (untested)

9 years agotransport: code SATATransportLayerTX (untested)
Florent Kermarrec [Thu, 11 Dec 2014 19:19:14 +0000 (20:19 +0100)]
transport: code SATATransportLayerTX (untested)

9 years agophy: remove ALIGN primitives on RX path
Florent Kermarrec [Thu, 11 Dec 2014 17:35:56 +0000 (18:35 +0100)]
phy: remove ALIGN primitives on RX path

9 years agolink: add auto-check on link_tb
Florent Kermarrec [Sat, 6 Dec 2014 13:35:18 +0000 (14:35 +0100)]
link: add auto-check on link_tb

9 years agolink: fix CONT on RX path
Florent Kermarrec [Sat, 6 Dec 2014 00:23:03 +0000 (01:23 +0100)]
link: fix CONT on RX path

9 years agolink: test HOLD on RX path
Florent Kermarrec [Fri, 5 Dec 2014 20:27:26 +0000 (21:27 +0100)]
link: test HOLD on RX path

9 years agolink: test RX path
Florent Kermarrec [Fri, 5 Dec 2014 19:26:09 +0000 (20:26 +0100)]
link: test RX path

9 years agolink_tb: use LinkTXPacket and LinkRXPacket from bfm
Florent Kermarrec [Fri, 5 Dec 2014 17:00:02 +0000 (18:00 +0100)]
link_tb: use LinkTXPacket and LinkRXPacket from bfm

9 years agomove test
Florent Kermarrec [Fri, 5 Dec 2014 16:48:01 +0000 (17:48 +0100)]
move test

9 years agobfm: add FIS decoding/encoding
Florent Kermarrec [Fri, 5 Dec 2014 00:13:55 +0000 (01:13 +0100)]
bfm: add FIS decoding/encoding

9 years agobfm: rewrite it and split Physical / Link layers
Florent Kermarrec [Thu, 4 Dec 2014 22:43:21 +0000 (23:43 +0100)]
bfm: rewrite it and split Physical / Link layers

9 years agotransport: define FIS layouts
Florent Kermarrec [Wed, 3 Dec 2014 15:32:55 +0000 (16:32 +0100)]
transport: define FIS layouts

9 years agolink: split SATALinkLayer in SATALinkLayerTX and SATALinkLayerRX
Florent Kermarrec [Wed, 3 Dec 2014 14:29:01 +0000 (15:29 +0100)]
link: split SATALinkLayer in SATALinkLayerTX and SATALinkLayerRX

9 years agolink: manage CONT on RX path
Florent Kermarrec [Wed, 3 Dec 2014 10:50:31 +0000 (11:50 +0100)]
link: manage CONT on RX path

9 years agolink: manage CONT on TX path
Florent Kermarrec [Wed, 3 Dec 2014 10:12:26 +0000 (11:12 +0100)]
link: manage CONT on TX path

9 years agolink: simplify BFM
Florent Kermarrec [Wed, 3 Dec 2014 08:17:51 +0000 (09:17 +0100)]
link: simplify BFM

9 years agolink: manage hold
Florent Kermarrec [Tue, 2 Dec 2014 20:34:16 +0000 (21:34 +0100)]
link: manage hold

9 years agolink: add CRC check to BFM
Florent Kermarrec [Tue, 2 Dec 2014 19:02:43 +0000 (20:02 +0100)]
link: add CRC check to BFM

9 years agolink: fix link_tb (due to others modifications)
Florent Kermarrec [Tue, 2 Dec 2014 18:53:13 +0000 (19:53 +0100)]
link: fix link_tb (due to others modifications)

9 years agolink: improve and clean up crc_tb, scrambler_tb
Florent Kermarrec [Tue, 2 Dec 2014 18:24:46 +0000 (19:24 +0100)]
link: improve and clean up crc_tb, scrambler_tb

10 years agolink: wip bfm
Florent Kermarrec [Wed, 12 Nov 2014 17:20:34 +0000 (18:20 +0100)]
link: wip bfm

10 years agolink: prepare simulation
Florent Kermarrec [Tue, 11 Nov 2014 17:47:34 +0000 (18:47 +0100)]
link: prepare simulation

10 years agoclean up
Florent Kermarrec [Tue, 11 Nov 2014 15:15:28 +0000 (16:15 +0100)]
clean up

10 years agouse new EndpointDescription
Florent Kermarrec [Tue, 11 Nov 2014 13:54:54 +0000 (14:54 +0100)]
use new EndpointDescription

10 years agolink: SATALinkLayer skeleton
Florent Kermarrec [Tue, 11 Nov 2014 11:26:32 +0000 (12:26 +0100)]
link: SATALinkLayer skeleton

10 years agophy: use primitives dict and use only sata.std
Florent Kermarrec [Tue, 11 Nov 2014 09:19:24 +0000 (10:19 +0100)]
phy: use primitives dict and use only sata.std

10 years agophy: send 2 ALIGN primitives every 256 DWORDs
Florent Kermarrec [Tue, 11 Nov 2014 08:57:43 +0000 (09:57 +0100)]
phy: send 2 ALIGN primitives every 256 DWORDs

10 years agolink: add SATALinkLayer skeleton (wip)
Florent Kermarrec [Tue, 4 Nov 2014 16:35:46 +0000 (17:35 +0100)]
link: add SATALinkLayer skeleton (wip)