Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
X
x393_sata
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
x393_sata
Commits
f1e33691
Commit
f1e33691
authored
Mar 07, 2016
by
Andrey Filippov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fixed more errors (single incoming HOLDP)
parent
c2aaf658
Changes
10
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
98 additions
and
90 deletions
+98
-90
.project
.project
+17
-17
sata_device.v
device/sata_device.v
+1
-1
action_decoder.v
generated/action_decoder.v
+1
-1
condition_mux.v
generated/condition_mux.v
+1
-1
ahci_fsm_sequence.py
helpers/ahci_fsm_sequence.py
+37
-37
link.v
host/link.v
+9
-7
ahxi_fsm_code.vh
includes/ahxi_fsm_code.vh
+13
-14
x393sata.py
py393sata/x393sata.py
+4
-1
tb_ahci_01.sav
tb_ahci_01.sav
+15
-11
x393_sata.bit
x393_sata.bit
+0
-0
No files found.
.project
View file @
f1e33691
...
...
@@ -52,87 +52,87 @@
<link>
<name>
vivado_logs/VivadoBitstream.log
</name>
<type>
1
</type>
<location>
/home/andrey/git/x393_sata/vivado_logs/VivadoBitstream-2016030
6195735683
.log
</location>
<location>
/home/andrey/git/x393_sata/vivado_logs/VivadoBitstream-2016030
7105701067
.log
</location>
</link>
<link>
<name>
vivado_logs/VivadoOpt.log
</name>
<type>
1
</type>
<location>
/home/andrey/git/x393_sata/vivado_logs/VivadoOpt-2016030
6195735683
.log
</location>
<location>
/home/andrey/git/x393_sata/vivado_logs/VivadoOpt-2016030
7105701067
.log
</location>
</link>
<link>
<name>
vivado_logs/VivadoOptPhys.log
</name>
<type>
1
</type>
<location>
/home/andrey/git/x393_sata/vivado_logs/VivadoOptPhys-2016030
6195735683
.log
</location>
<location>
/home/andrey/git/x393_sata/vivado_logs/VivadoOptPhys-2016030
7105701067
.log
</location>
</link>
<link>
<name>
vivado_logs/VivadoOptPower.log
</name>
<type>
1
</type>
<location>
/home/andrey/git/x393_sata/vivado_logs/VivadoOptPower-2016030
6195735683
.log
</location>
<location>
/home/andrey/git/x393_sata/vivado_logs/VivadoOptPower-2016030
7105701067
.log
</location>
</link>
<link>
<name>
vivado_logs/VivadoPlace.log
</name>
<type>
1
</type>
<location>
/home/andrey/git/x393_sata/vivado_logs/VivadoPlace-2016030
6195735683
.log
</location>
<location>
/home/andrey/git/x393_sata/vivado_logs/VivadoPlace-2016030
7105701067
.log
</location>
</link>
<link>
<name>
vivado_logs/VivadoRoute.log
</name>
<type>
1
</type>
<location>
/home/andrey/git/x393_sata/vivado_logs/VivadoRoute-2016030
6195735683
.log
</location>
<location>
/home/andrey/git/x393_sata/vivado_logs/VivadoRoute-2016030
7105701067
.log
</location>
</link>
<link>
<name>
vivado_logs/VivadoSynthesis.log
</name>
<type>
1
</type>
<location>
/home/andrey/git/x393_sata/vivado_logs/VivadoSynthesis-2016030
6195310071
.log
</location>
<location>
/home/andrey/git/x393_sata/vivado_logs/VivadoSynthesis-2016030
7105520276
.log
</location>
</link>
<link>
<name>
vivado_logs/VivadoTimimgSummaryReportImplemented.log
</name>
<type>
1
</type>
<location>
/home/andrey/git/x393_sata/vivado_logs/VivadoTimimgSummaryReportImplemented-2016030
6195735683
.log
</location>
<location>
/home/andrey/git/x393_sata/vivado_logs/VivadoTimimgSummaryReportImplemented-2016030
7105701067
.log
</location>
</link>
<link>
<name>
vivado_logs/VivadoTimimgSummaryReportSynthesis.log
</name>
<type>
1
</type>
<location>
/home/andrey/git/x393_sata/vivado_logs/VivadoTimimgSummaryReportSynthesis-2016030
6195310071
.log
</location>
<location>
/home/andrey/git/x393_sata/vivado_logs/VivadoTimimgSummaryReportSynthesis-2016030
7105520276
.log
</location>
</link>
<link>
<name>
vivado_logs/VivadoTimingReportImplemented.log
</name>
<type>
1
</type>
<location>
/home/andrey/git/x393_sata/vivado_logs/VivadoTimingReportImplemented-2016030
6195735683
.log
</location>
<location>
/home/andrey/git/x393_sata/vivado_logs/VivadoTimingReportImplemented-2016030
7105701067
.log
</location>
</link>
<link>
<name>
vivado_logs/VivadoTimingReportSynthesis.log
</name>
<type>
1
</type>
<location>
/home/andrey/git/x393_sata/vivado_logs/VivadoTimingReportSynthesis-2016030
6195310071
.log
</location>
<location>
/home/andrey/git/x393_sata/vivado_logs/VivadoTimingReportSynthesis-2016030
7105520276
.log
</location>
</link>
<link>
<name>
vivado_state/x393_sata-opt-phys.dcp
</name>
<type>
1
</type>
<location>
/home/andrey/git/x393_sata/vivado_state/x393_sata-opt-phys-2016030
6195735683
.dcp
</location>
<location>
/home/andrey/git/x393_sata/vivado_state/x393_sata-opt-phys-2016030
7105701067
.dcp
</location>
</link>
<link>
<name>
vivado_state/x393_sata-opt-power.dcp
</name>
<type>
1
</type>
<location>
/home/andrey/git/x393_sata/vivado_state/x393_sata-opt-power-2016030
6195735683
.dcp
</location>
<location>
/home/andrey/git/x393_sata/vivado_state/x393_sata-opt-power-2016030
7105701067
.dcp
</location>
</link>
<link>
<name>
vivado_state/x393_sata-opt.dcp
</name>
<type>
1
</type>
<location>
/home/andrey/git/x393_sata/vivado_state/x393_sata-opt-2016030
6195735683
.dcp
</location>
<location>
/home/andrey/git/x393_sata/vivado_state/x393_sata-opt-2016030
7105701067
.dcp
</location>
</link>
<link>
<name>
vivado_state/x393_sata-place.dcp
</name>
<type>
1
</type>
<location>
/home/andrey/git/x393_sata/vivado_state/x393_sata-place-2016030
6195735683
.dcp
</location>
<location>
/home/andrey/git/x393_sata/vivado_state/x393_sata-place-2016030
7105701067
.dcp
</location>
</link>
<link>
<name>
vivado_state/x393_sata-route.dcp
</name>
<type>
1
</type>
<location>
/home/andrey/git/x393_sata/vivado_state/x393_sata-route-2016030
6195735683
.dcp
</location>
<location>
/home/andrey/git/x393_sata/vivado_state/x393_sata-route-2016030
7105701067
.dcp
</location>
</link>
<link>
<name>
vivado_state/x393_sata-synth.dcp
</name>
<type>
1
</type>
<location>
/home/andrey/git/x393_sata/vivado_state/x393_sata-synth-2016030
6195310071
.dcp
</location>
<location>
/home/andrey/git/x393_sata/vivado_state/x393_sata-synth-2016030
7105520276
.dcp
</location>
</link>
</linkedResources>
</projectDescription>
device/sata_device.v
View file @
f1e33691
...
...
@@ -874,7 +874,7 @@ task send_incrementing_data_pause; // @SuppressThisWarning VEditor - Used in tes
begin
clear_transmit_pause
(
0
)
;
for
(
i
=
0
;
i
<
len
;
i
=
i
+
8
)
begin
transmit_data_pause
[
i
+
1
]
=
i
;
// each 8-th have increainsg pause
transmit_data_pause
[
i
+
1
]
=
i
/
8
;
// each 8-th have increainsg pause 1,2,3...
end
transmit_data
[
0
]
=
FIS_DATA
;
for
(
i
=
0
;
i
<
len
;
i
=
i
+
1
)
begin
...
...
generated/action_decoder.v
View file @
f1e33691
/*******************************************************************************
* Module: action_decoder
* Date:2016-03-0
3
* Date:2016-03-0
7
* Author: auto-generated file, see ahci_fsm_sequence.py
* Description: Decode sequencer code to 1-hot actions
*******************************************************************************/
...
...
generated/condition_mux.v
View file @
f1e33691
/*******************************************************************************
* Module: condition_mux
* Date:2016-03-0
3
* Date:2016-03-0
7
* Author: auto-generated file, see ahci_fsm_sequence.py
* Description: Select condition
*******************************************************************************/
...
...
helpers/ahci_fsm_sequence.py
View file @
f1e33691
This diff is collapsed.
Click to expand it.
host/link.v
View file @
f1e33691
...
...
@@ -77,7 +77,8 @@ module link #(
output
wire
incom_invalidate
,
// if incoming transition had errors
output
wire
incom_sync_escape
,
// particular type - got sync escape
input
wire
incom_ack_good
,
// transport layer responds on a completion of a FIS
input
wire
incom_ack_bad
,
input
wire
incom_ack_bad
,
// Reject frame even if it had good CRC (Bad will be responded automatically)
// It is OK to send extra incom_ack_bad from transport - it will be discarded
input
wire
link_reset
,
// oob sequence is reinitiated and link now is not established or rxelecidle
input
wire
sync_escape_req
,
// TL demands to brutally cancel current transaction
output
wire
sync_escape_ack
,
// acknowlegement of a successful reception
...
...
@@ -416,12 +417,13 @@ assign set_rcvr_data = state_rcvr_rdy & dword_val & rcvd_dword[COD
// | state_rcvr_rhold & dword_val_na & ~rcvd_dword[CODE_HOLDP] & ~rcvd_dword[CODE_EOFP] & ~rcvd_dword[CODE_SYNCP] & ~data_busy_in
|
state_rcvr_rhold
&
next_will_be_data
&
~
data_busy_in
// | state_rcvr_shold & dword_val_na & ~rcvd_dword[CODE_HOLDP] & ~rcvd_dword[CODE_EOFP] & ~rcvd_dword[CODE_SYNCP];
|
state_rcvr_shold
&
next_will_be_data
;
// So it will not be align
|
state_rcvr_shold
&
next_will_be_data
// So it will not be align
|
state_rcvr_data
&
next_will_be_data
;
// to skip over single-cycle CODE_HOLDP
//next_will_be_data
assign
set_rcvr_rhold
=
state_rcvr_data
&
dword_val
&
rcvd_dword
[
CODE_DATA
]
&
data_busy_in
;
assign
set_rcvr_shold
=
state_rcvr_data
&
dword_val
&
rcvd_dword
[
CODE_HOLDP
]
|
state_rcvr_rhold
&
dword_val
&
rcvd_dword
[
CODE_HOLDP
]
&
~
data_busy_in
;
assign
set_rcvr_shold
=
state_rcvr_data
&
dword_val
&
(
rcvd_dword
[
CODE_HOLDP
]
&
~
next_will_be_data
)
|
state_rcvr_rhold
&
dword_val
&
(
rcvd_dword
[
CODE_HOLDP
]
&
~
next_will_be_data
)
&
~
data_busy_in
;
assign
set_rcvr_eof
=
state_rcvr_data
&
dword_val
&
rcvd_dword
[
CODE_EOFP
]
|
state_rcvr_rhold
&
dword_val
&
rcvd_dword
[
CODE_EOFP
]
...
...
@@ -431,9 +433,9 @@ assign set_rcvr_goodcrc = state_rcvr_eof & crc_good;
assign
set_rcvr_goodend
=
state_rcvr_goodcrc
&
incom_ack_good_or_pend
;
// incom_ack_good; // may arrive at aligns_pair
assign
set_rcvr_badend
=
state_rcvr_data
&
dword_val
&
rcvd_dword
[
CODE_WTRMP
]
|
state_rcvr_eof
&
crc_bad
|
state_rcvr_goodcrc
&
incom_ack_bad_or_pend
;
// incom_ack_bad; //
may arrive at aligns_pair
assign
set_rcvr_badend
=
state_rcvr_data
&
dword_val
&
rcvd_dword
[
CODE_WTRMP
]
// Missed EOF
|
state_rcvr_eof
&
crc_bad
// Got bad CRC
|
state_rcvr_goodcrc
&
incom_ack_bad_or_pend
;
// incom_ack_bad; //
Transport didn't like it (may arrive at aligns_pair)
assign
clr_sync_esc
=
set_nocommerr
|
set_reset
|
dword_val
&
(
rcvd_dword
[
CODE_RRDYP
]
|
rcvd_dword
[
CODE_SYNCP
])
;
assign
clr_nocommerr
=
set_reset
|
set_nocomm
;
...
...
includes/ahxi_fsm_code.vh
View file @
f1e33691
, .INIT_00 (256'h00100000000E0000000C02020035000000220000000C0000000A0000000C0000)
, .INIT_01 (256'h1C3B9448543244190060001B0108001B00500402040401040022000600120000)
, .INIT_02 (256'h001BC8300014000C0210002B2506250
E
0180001B0003004200180000001B4454)
, .INIT_02 (256'h001BC8300014000C0210002B2506250
D
0180001B0003004200180000001B4454)
, .INIT_03 (256'h44394C6A2C44141B0012003B01080028000A04080022001B01020110001B0005)
, .INIT_04 (256'h003B0210001B14480102005004020404003BB07F707C00A0003B8C6D845484C6)
, .INIT_05 (256'h045A000000502506250
E0240004E2506250E
0240005E0000003B0000001B0210)
, .INIT_05 (256'h045A000000502506250
D0240004E2506250D
0240005E0000003B0000001B0210)
, .INIT_06 (256'h903B02200204006D0402009000EDA89868FB18F418D398AF58DF388464560C27)
, .INIT_07 (256'h0000003BB07F0000005200840022003BB07F707C307930FB02080073D1105103)
, .INIT_08 (256'h00962890290A0000000000000014021000882506250E018000A1D1080120003B)
, .INIT_09 (256'h48810CB5290A0210009C2506250E04400052000C009600050096C89400220044)
, .INIT_0A (256'h024000520081005248AD00220044003B48AD28A9290A0000000000000024003B)
, .INIT_0B (256'h50C20044008800BDD1085103042000B9883B08A1003000B5021000B32506250E)
, .INIT_0C (256'h00440048021000CDC50E2506250600C000C80030003B88A100300009003B88A1)
, .INIT_0D (256'h0280003B34DA000000DC001100DCC8DA021000D72506250E0140003B88A150C2)
, .INIT_0E (256'h2506250E0480005201010052C8EB290A0000000000000014021000E32506250E)
, .INIT_0F (256'h021000FF2506250E024001010082021000F82506250E0240003B0401021000F1)
, .INIT_10 (256'h01100410010C0000010C0201010C002101080410010C00210084010100000101)
, .INIT_11 (256'h00000000000000000000000000000000000000000000000000000000003B0041)
, .INIT_07 (256'h0000003BB07F0000005200840022003BB07F707C307930FB02080073D10D5103)
, .INIT_08 (256'h0096289029090000000000000014021000882506250D018000A1D1060120003B)
, .INIT_09 (256'h48810CB529090210009C2506250D04400052000C009600050096C89400220044)
, .INIT_0A (256'h024000520081005248AD00220044003B48AD28A929090000000000000024003B)
, .INIT_0B (256'h50C20044008800BDD1065103042000B9883B08A1003000B5021000B32506250D)
, .INIT_0C (256'h00440048021000CDC50D2506250600C000C80030003B88A100300009003B88A1)
, .INIT_0D (256'h0280003B34DA000000DC001100DCC8DA021000D72506250D0140003B88A150C2)
, .INIT_0E (256'h2506250D0480005201010052C8EB29090000000000000014021000E32506250D)
, .INIT_0F (256'h021000FF2506250D024001010082021000F82506250D0240003B0401021000F1)
, .INIT_10 (256'h003B00410410010B0000010B0201010B00210410010B00210084010100000101)
, .INITP_00 (256'h8220098170902401E272722222800309418810820809C8020188800222222222)
, .INITP_01 (256'h89C827209C828009C22089C680272181A01CB889C8605A00AA2722081A00270C)
, .INITP_02 (256'h0000000000000000000000000000000000000000000000000000000
222222
208)
, .INITP_02 (256'h0000000000000000000000000000000000000000000000000000000
020888
208)
py393sata/x393sata.py
View file @
f1e33691
...
...
@@ -1529,10 +1529,10 @@ sata.vsc3304.PCB_CONNECTIONS['10389B']['INVERTED_PORTS']
('A', 'E', 'G', 'H')
sata.vsc3304.PCB_CONNECTIONS['10389B']['INVERTED_PORTS']=('E','G','H')
#######################################
reload (x393sata)
sata = x393sata.x393sata()
#######################################
cd /mnt/mmc/local/bin
python
from __future__ import print_function
...
...
@@ -1541,6 +1541,8 @@ import x393sata
import x393_mem
mem = x393_mem.X393Mem(1,0,1)
sata = x393sata.x393sata() # 1,0,"10389B")
sata.reinit_mux()
sata.bitstream()
...
...
@@ -1554,6 +1556,7 @@ sata.drp (0x59,0x8) # Use RXREC
#sata.drp (0x59,0x48)
sata.reg_status()
sata.reg_status()
#need to sleep here !!
sata.arm_logger()
...
...
tb_ahci_01.sav
View file @
f1e33691
[*]
[*] GTKWave Analyzer v3.3.66 (w)1999-2015 BSI
[*] Mon Mar 7
02:46:09
2016
[*] Mon Mar 7
17:54:44
2016
[*]
[dumpfile] "/home/andrey/git/x393_sata/simulation/tb_ahci-2016030
6192631093
.fst"
[dumpfile_mtime] "Mon Mar 7
02:28:25
2016"
[dumpfile_size] 1
4586310
[dumpfile] "/home/andrey/git/x393_sata/simulation/tb_ahci-2016030
7105210141
.fst"
[dumpfile_mtime] "Mon Mar 7
17:54:09
2016"
[dumpfile_size] 1
5120516
[savefile] "/home/andrey/git/x393_sata/tb_ahci_01.sav"
[timestart] 3
33931
00
[size] 18
23 1180
[pos] 192
0 6
0
*-16.
114683 33642778
32476228 47988010 32736600 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
[timestart] 3
25403
00
[size] 18
17 609
[pos] 192
3
0
*-16.
022064 32722870
32476228 47988010 32736600 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
[treeopen] tb_ahci.
[treeopen] tb_ahci.axi_read_addr.
[treeopen] tb_ahci.dev.
...
...
@@ -64,7 +64,7 @@
[sst_width] 252
[signals_width] 349
[sst_expanded] 1
[sst_vpaned_height]
577
[sst_vpaned_height]
259
@820
tb_ahci.TESTBENCH_TITLE[639:0]
tb_ahci.dut.sata_top.ahci_sata_layers_i.phy.oob_ctrl.oob.HOST_OOB_TITLE[639:0]
...
...
@@ -4067,7 +4067,9 @@ tb_ahci.dut.sata_top.ahci_sata_layers_i.link.rcvd_dword[15:0]
-group_end
@28
tb_ahci.dut.sata_top.ahci_sata_layers_i.link.next_will_be_data
@29
tb_ahci.dut.sata_top.ahci_sata_layers_i.link.set_rcvr_data
@28
tb_ahci.dut.sata_top.ahci_sata_layers_i.link.state_rcvr_data
tb_ahci.dut.sata_top.ahci_sata_layers_i.link.set_rcvr_shold
tb_ahci.dut.sata_top.ahci_sata_layers_i.link.state_rcvr_shold
...
...
@@ -4193,6 +4195,8 @@ tb_ahci.dut.sata_top.ahci_sata_layers_i.link.state_rcvr_badend
@1000200
-states
@28
tb_ahci.dut.sata_top.ahci_sata_layers_i.link.got_escape
tb_ahci.dut.sata_top.ahci_sata_layers_i.link.clr_rcvr_goodend
tb_ahci.dut.sata_top.ahci_sata_layers_i.link.link_reset
tb_ahci.dut.sata_top.ahci_sata_layers_i.link.set_align
tb_ahci.dut.sata_top.ahci_sata_layers_i.link.set_nocommerr
...
...
@@ -4642,7 +4646,7 @@ tb_ahci.dut.sata_top.ahci_sata_layers_i.phy.gtx_wrap.gtx_comma_align.comma_detec
-
@1401200
-comma
@c0020
1
@c0020
0
-elastic_phy
@c00022
tb_ahci.dut.sata_top.ahci_sata_layers_i.debug_phy0[31:0]
...
...
@@ -4694,7 +4698,7 @@ tb_ahci.dut.sata_top.ahci_sata_layers_i.phy.gtx_wrap.elastic1632_i.inc_waddr
tb_ahci.dut.sata_top.ahci_sata_layers_i.phy.gtx_wrap.elastic1632_i.waddr[4:0]
@200
-
@140120
1
@140120
0
-elastic_phy
@c00200
-elastic_slow
...
...
x393_sata.bit
View file @
f1e33691
No preview for this file type
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment