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

10 years agofix and simplify ctrl fsms, OOB OK, align KO
Florent Kermarrec [Sat, 27 Sep 2014 15:26:52 +0000 (17:26 +0200)]
fix and simplify ctrl fsms, OOB OK, align KO

10 years agogtx: add resynchronization on control signals
Florent Kermarrec [Sat, 27 Sep 2014 15:25:49 +0000 (17:25 +0200)]
gtx: add resynchronization on control signals

10 years agommcm: configure default divider with default_speed
Florent Kermarrec [Sat, 27 Sep 2014 14:22:40 +0000 (16:22 +0200)]
mmcm: configure default divider with default_speed

10 years agoadd tx_reset_fsm and rx_reset_fsm
Florent Kermarrec [Sat, 27 Sep 2014 14:10:39 +0000 (16:10 +0200)]
add tx_reset_fsm and rx_reset_fsm

10 years agoreorganize code
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.

10 years agoclocking: clean up and add comments
Florent Kermarrec [Sat, 27 Sep 2014 11:33:43 +0000 (13:33 +0200)]
clocking: clean up and add comments

10 years agohost and device communicate with OOB, now need to fix ctrl
Florent Kermarrec [Fri, 26 Sep 2014 21:27:25 +0000 (23:27 +0200)]
host and device communicate with OOB, now need to fix ctrl

10 years agoreset and lock of PLL OK. We see OOB signals on the link but they are not decoded...
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.

10 years agoadd modelsim simulation and start fixing init
Florent Kermarrec [Fri, 26 Sep 2014 09:36:28 +0000 (11:36 +0200)]
add modelsim simulation and start fixing init