Florent Kermarrec [Wed, 21 Jan 2015 09:52:18 +0000 (10:52 +0100)]
fix core generation
Florent Kermarrec [Tue, 20 Jan 2015 23:09:24 +0000 (00:09 +0100)]
doc: add SATA description from Erik Landström's Thesis
Florent Kermarrec [Tue, 20 Jan 2015 22:41:33 +0000 (23:41 +0100)]
change copyright to HKU
Florent Kermarrec [Tue, 20 Jan 2015 16:14:01 +0000 (17:14 +0100)]
manage reg_d2h errors
Florent Kermarrec [Tue, 20 Jan 2015 14:24:52 +0000 (15:24 +0100)]
bist: show current length in MB
Florent Kermarrec [Tue, 20 Jan 2015 12:17:59 +0000 (13:17 +0100)]
bist: add decoding of capabilities
Florent Kermarrec [Tue, 20 Jan 2015 11:12:51 +0000 (12:12 +0100)]
bist: decode more infos from identify data
Florent Kermarrec [Tue, 20 Jan 2015 09:47:14 +0000 (10:47 +0100)]
fix license
Florent Kermarrec [Mon, 19 Jan 2015 22:28:14 +0000 (23:28 +0100)]
copy README chapters to .rst
Florent Kermarrec [Mon, 19 Jan 2015 17:40:32 +0000 (18:40 +0100)]
add verilog backend to use the core with a "standard" flow
Florent Kermarrec [Mon, 19 Jan 2015 16:52:05 +0000 (17:52 +0100)]
clean up
Florent Kermarrec [Mon, 19 Jan 2015 13:17:43 +0000 (14:17 +0100)]
add doc skeleton (from emscripten with readthedocs theme)
Florent Kermarrec [Sat, 17 Jan 2015 13:17:31 +0000 (14:17 +0100)]
replace Makefile with make.py (will enable verilog rtl generation for integration with standard flows)
Florent Kermarrec [Fri, 16 Jan 2015 22:52:41 +0000 (23:52 +0100)]
refactor code
Florent Kermarrec [Fri, 16 Jan 2015 21:49:34 +0000 (22:49 +0100)]
add support of identify device command
Florent Kermarrec [Fri, 16 Jan 2015 20:01:06 +0000 (21:01 +0100)]
add test_link.py (replace test_bist_mila)
Florent Kermarrec [Fri, 16 Jan 2015 19:53:17 +0000 (20:53 +0100)]
use csr_data_width of 32 to speed up data mila upload
Florent Kermarrec [Fri, 16 Jan 2015 19:25:11 +0000 (20:25 +0100)]
global clean up
- remove initial sims
- remove SATAPHYDeviceCtrl
- rename to LiteSATA
- rename test to bist
Florent Kermarrec [Fri, 16 Jan 2015 18:25:35 +0000 (19:25 +0100)]
phy: remove GTXE2_COMMON (no longer need since it was a Vivado bug that is now fixed)
Florent Kermarrec [Fri, 16 Jan 2015 17:14:13 +0000 (18:14 +0100)]
bist: use hardware counter for speed calc and remove loops mode
Florent Kermarrec [Fri, 16 Jan 2015 17:13:07 +0000 (18:13 +0100)]
link/cont: improve timing
Florent Kermarrec [Wed, 14 Jan 2015 17:18:42 +0000 (18:18 +0100)]
add need_reset from controller to request system reset when SATA is not locked
Florent Kermarrec [Wed, 14 Jan 2015 08:19:41 +0000 (09:19 +0100)]
add frontend and improve BIST
Florent Kermarrec [Mon, 12 Jan 2015 11:44:18 +0000 (12:44 +0100)]
use new submodules/specials/clock_domains automatic collection
Florent Kermarrec [Thu, 8 Jan 2015 21:59:31 +0000 (22:59 +0100)]
improve timings with BufferizeEndpoints
Florent Kermarrec [Thu, 8 Jan 2015 21:58:26 +0000 (22:58 +0100)]
use 166MHz clock
Florent Kermarrec [Wed, 7 Jan 2015 21:15:57 +0000 (22:15 +0100)]
simplify bist
Florent Kermarrec [Tue, 6 Jan 2015 17:17:11 +0000 (18:17 +0100)]
command: add robustness and simplify RX path
Florent Kermarrec [Tue, 6 Jan 2015 16:03:27 +0000 (17:03 +0100)]
command: replace SyncFIFO with Buffer for cmd_buffer
Florent Kermarrec [Tue, 6 Jan 2015 15:48:19 +0000 (16:48 +0100)]
command: add support for larger DMAs
Florent Kermarrec [Thu, 25 Dec 2014 12:11:22 +0000 (13:11 +0100)]
link: check CRC on RX path
Florent Kermarrec [Thu, 25 Dec 2014 11:28:06 +0000 (12:28 +0100)]
test: fix link_tb and bist_tb
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)
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).
Florent Kermarrec [Wed, 24 Dec 2014 14:05:17 +0000 (15:05 +0100)]
clean up TestDesign
Florent Kermarrec [Tue, 23 Dec 2014 22:19:48 +0000 (23:19 +0100)]
use max_count of 16 and clean up
Florent Kermarrec [Tue, 23 Dec 2014 19:56:03 +0000 (20:56 +0100)]
add test_bist_mila to show how to capture data
Florent Kermarrec [Tue, 23 Dec 2014 19:41:35 +0000 (20:41 +0100)]
add test_bist with mila
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
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)
Florent Kermarrec [Tue, 23 Dec 2014 00:39:41 +0000 (01:39 +0100)]
test bist at high speed(working)
Florent Kermarrec [Mon, 22 Dec 2014 23:41:39 +0000 (00:41 +0100)]
test bist at slow speed (working)
Florent Kermarrec [Mon, 22 Dec 2014 23:08:22 +0000 (00:08 +0100)]
read/write seems OK with CommandGenerator
Florent Kermarrec [Mon, 22 Dec 2014 19:58:38 +0000 (20:58 +0100)]
link: fix rx path
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)
Florent Kermarrec [Sat, 20 Dec 2014 15:06:02 +0000 (16:06 +0100)]
add mode generic CommandGenerator for debug
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
Florent Kermarrec [Sat, 20 Dec 2014 11:58:37 +0000 (12:58 +0100)]
change FIS endianness (seems to be little endian)
Florent Kermarrec [Sat, 20 Dec 2014 00:26:58 +0000 (01:26 +0100)]
add primitives decoding in test_identify to ease debug
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)
Florent Kermarrec [Fri, 19 Dec 2014 22:10:51 +0000 (23:10 +0100)]
add fsms to mila for debug
Florent Kermarrec [Fri, 19 Dec 2014 21:50:35 +0000 (22:50 +0100)]
use new submodules collection to expose more fsm an modules
Florent Kermarrec [Fri, 19 Dec 2014 21:32:11 +0000 (22:32 +0100)]
link: add parameter to disable CONT insertion (will ease debug)
Florent Kermarrec [Fri, 19 Dec 2014 19:16:37 +0000 (20:16 +0100)]
fix phy datapath, first communications between SATACON and a HDD... :)
Florent Kermarrec [Fri, 19 Dec 2014 18:02:31 +0000 (19:02 +0100)]
prepare identify test with SATACON
Florent Kermarrec [Fri, 19 Dec 2014 16:45:02 +0000 (17:45 +0100)]
test: change UART baudrate and test SATACONTRemover
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)