litex.git
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)

10 years agolink: improve crc_tb/ preamble_tb and increase length
Florent Kermarrec [Tue, 4 Nov 2014 16:06:03 +0000 (17:06 +0100)]
link: improve crc_tb/ preamble_tb and increase length

10 years agolink: add Scrambler and testbench
Florent Kermarrec [Tue, 4 Nov 2014 10:40:43 +0000 (11:40 +0100)]
link: add Scrambler and testbench

10 years agolink: add CRC and testbench
Florent Kermarrec [Mon, 3 Nov 2014 17:54:41 +0000 (18:54 +0100)]
link: add CRC and testbench

10 years agosata/link: add crc and scrambler C models from SATA specification
Florent Kermarrec [Mon, 3 Nov 2014 17:11:14 +0000 (18:11 +0100)]
sata/link: add crc and scrambler C models from SATA specification

10 years agomove code and create a directory for each layer
Florent Kermarrec [Mon, 3 Nov 2014 16:38:12 +0000 (17:38 +0100)]
move code and create a directory for each layer

10 years agoremove DRP ports (won't be used for now)
Florent Kermarrec [Tue, 28 Oct 2014 10:30:15 +0000 (11:30 +0100)]
remove DRP ports (won't be used for now)

10 years agovarious fixes and simplifications, SATA1 & SATA2 OK
Florent Kermarrec [Fri, 24 Oct 2014 17:24:05 +0000 (19:24 +0200)]
various fixes and simplifications, SATA1 & SATA2 OK

10 years agoplatforms: merge but keep support for iMPACT for now (xc3sprog need to be tested...
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)

10 years agoctrl: drive txcomwake and not gtx.txcomwake in K7SATAPHYDeviceCtrl
Florent Kermarrec [Thu, 16 Oct 2014 08:38:26 +0000 (10:38 +0200)]
ctrl: drive txcomwake and not gtx.txcomwake in K7SATAPHYDeviceCtrl

10 years agorevert simulation design and add wave
Florent Kermarrec [Tue, 30 Sep 2014 09:04:36 +0000 (11:04 +0200)]
revert simulation design and add wave

10 years agoadd .payload. to Sink and Source to be compatible with upstream Migen
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

10 years agoinstanciate GTXE2_COMMON (seems recommended in AR43339)
Florent Kermarrec [Tue, 30 Sep 2014 08:55:21 +0000 (10:55 +0200)]
instanciate GTXE2_COMMON (seems recommended in AR43339)

10 years agotest to visualize OOB with Miscope
Florent Kermarrec [Tue, 30 Sep 2014 07:29:15 +0000 (09:29 +0200)]
test to visualize OOB with Miscope

10 years agouse SGMII clk (125MHz) and SFP for test on KC705
Florent Kermarrec [Tue, 30 Sep 2014 07:07:15 +0000 (09:07 +0200)]
use SGMII clk (125MHz) and SFP for test on KC705

10 years agosimplify and clean up
Florent Kermarrec [Mon, 29 Sep 2014 16:25:24 +0000 (18:25 +0200)]
simplify and clean up

10 years agosim working
Florent Kermarrec [Mon, 29 Sep 2014 15:12:02 +0000 (17:12 +0200)]
sim working

10 years agofix alignment (still some transmissions errors --> need to check clocks and resets)
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)