Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
W
White Rabbit core collection
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
30
Issues
30
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Schedules
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
White Rabbit core collection
Commits
bcbc8490
Commit
bcbc8490
authored
Jan 31, 2019
by
Tomasz Wlostowski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
WIP on PHY simulation model
parent
2157bfb1
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
18 additions
and
16 deletions
+18
-16
if_wishbone_accessor.svh
sim/if_wishbone_accessor.svh
+8
-7
simdrv_defs.svh
sim/simdrv_defs.svh
+9
-8
wr_1000basex_phy_model.svh
sim/wr_1000basex_phy_model.svh
+1
-1
No files found.
sim/if_wishbone_accessor.svh
View file @
bcbc8490
...
...
@@ -5,7 +5,6 @@
virtual
class
CWishboneAccessor
extends
CBusAccessor
;
static
int
_
null
=
0
;
protected
wb_cycle_type_t
m_cycle_type
;
function
new
()
;
...
...
@@ -45,12 +44,12 @@ virtual class CWishboneAccessor extends CBusAccessor;
// [slave only] gets a cycle from the queue
virtual
task
get
(
ref
wb_cycle_t
xfer
)
;
virtual
task
get
(
inout
wb_cycle_t
xfer
)
;
endtask
// get
// [master only] executes a cycle and returns its result
virtual
task
put
(
ref
wb_cycle_t
xfer
)
;
virtual
task
put
(
inout
wb_cycle_t
xfer
)
;
endtask
// put
...
...
@@ -59,7 +58,7 @@ virtual class CWishboneAccessor extends CBusAccessor;
endfunction
// idle
// [master only] generic write(s), blocking
virtual
task
writem
(
uint64_t
addr
[]
,
uint64_t
data
[]
,
int
size
=
4
,
ref
int
result
=
_
null
)
;
virtual
task
writem
(
uint64_t
addr
[]
,
uint64_t
data
[]
,
int
size
=
4
,
inout
int
result
)
;
wb_cycle_t
cycle
;
int
i
;
...
...
@@ -84,7 +83,7 @@ virtual class CWishboneAccessor extends CBusAccessor;
endtask
// write
// [master only] generic read(s), blocking
virtual
task
readm
(
uint64_t
addr
[]
,
ref
uint64_t
data
[]
,
input
int
size
=
4
,
ref
int
result
=
_
null
)
;
virtual
task
readm
(
uint64_t
addr
[]
,
inout
uint64_t
data
[]
,
input
int
size
=
4
,
inout
int
result
)
;
wb_cycle_t
cycle
;
int
i
;
...
...
@@ -109,7 +108,8 @@ virtual class CWishboneAccessor extends CBusAccessor;
endtask
// readm
virtual
task
read
(
uint64_t
addr
,
ref
uint64_t
data
,
input
int
size
=
4
,
ref
int
result
=
_
null
)
;
virtual
task
read
(
uint64_t
addr
,
output
uint64_t
data
,
input
int
size
=
4
)
;
int
result
;
uint64_t
aa
[]
,
da
[]
;
aa
=
new
[
1
]
;
da
=
new
[
1
]
;
...
...
@@ -118,7 +118,8 @@ virtual class CWishboneAccessor extends CBusAccessor;
data
=
da
[
0
]
;
endtask
virtual
task
write
(
uint64_t
addr
,
uint64_t
data
,
int
size
=
4
,
ref
int
result
=
_
null
)
;
virtual
task
write
(
uint64_t
addr
,
uint64_t
data
,
int
size
=
4
)
;
int
result
;
uint64_t
aa
[]
,
da
[]
;
aa
=
new
[
1
]
;
da
=
new
[
1
]
;
...
...
sim/simdrv_defs.svh
View file @
bcbc8490
`ifndef
SIMDRV_DEFS_SV
`ifndef
SIMDRV_DEFS_SV
`define
SIMDRV_DEFS_SV 1
typedef
longint
unsigned
uint64_t
;
...
...
@@ -14,7 +14,7 @@ typedef byte byte_array_t[];
virtual
class
CBusAccessor
;
static
int
_
null
=
0
;
int
m_default_xfer_size
;
...
...
@@ -24,10 +24,10 @@ virtual class CBusAccessor;
pure
virtual
task
writem
(
uint64_t
addr
[]
,
uint64_t
data
[]
,
input
int
size
,
ref
int
result
)
;
pure
virtual
task
readm
(
uint64_t
addr
[]
,
ref
uint64_t
data
[]
,
input
int
size
,
ref
int
result
)
;
pure
virtual
task
writem
(
uint64_t
addr
[]
,
uint64_t
data
[]
,
input
int
size
,
inout
int
result
)
;
pure
virtual
task
readm
(
uint64_t
addr
[]
,
inout
uint64_t
data
[]
,
input
int
size
,
inout
int
result
)
;
virtual
task
read
(
uint64_t
addr
,
ref
uint64_t
data
,
input
int
size
=
m_default_xfer_size
,
ref
int
result
=
_
null
)
;
virtual
task
read
(
uint64_t
addr
,
output
uint64_t
data
,
input
int
size
=
4
)
;
int
res
;
uint64_t
aa
[
1
]
,
da
[]
;
...
...
@@ -39,11 +39,12 @@ virtual class CBusAccessor;
endtask
virtual
task
write
(
uint64_t
addr
,
uint64_t
data
,
input
int
size
=
m_default_xfer_size
,
ref
int
result
=
_
null
)
;
virtual
task
write
(
uint64_t
addr
,
uint64_t
data
,
input
int
size
=
4
)
;
int
res
;
uint64_t
aa
[
1
]
,
da
[
1
]
;
aa
[
0
]
=
addr
;
da
[
0
]
=
data
;
writem
(
aa
,
da
,
size
,
res
ult
)
;
writem
(
aa
,
da
,
size
,
res
)
;
endtask
endclass
// CBusAccessor
...
...
@@ -108,5 +109,5 @@ endclass // CSimUtils
static
CSimUtils
SimUtils
;
`endif
`endif
\ No newline at end of file
sim/wr_1000basex_phy_model.svh
View file @
bcbc8490
...
...
@@ -316,7 +316,7 @@ module wr_1000basex_phy_model
assign
ser_rx
=
loopen_i
?
ser_tx
:
pad_rxp_i
;
assign
pad_txp_o
=
loopen_i
==
1'b1
?
1'bz
:
ser_tx
;
assign
pad_txn_o
=
loopen_i
==
1'b1?
1'bz
:
~
ser_tx
;
assign
pad_txn_o
=
loopen_i
==
1'b1
?
1'bz
:
~
ser_tx
;
endmodule
// wr_1000basex_phy_model
...
...
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