Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
tapasco
tapasco
Commits
ee793881
Commit
ee793881
authored
Jan 22, 2018
by
Jens Korinth
Browse files
Pull tapasco-status
Merge commit '
82ce7119
' into pe-local-memories
parents
bbae0376
82ce7119
Changes
9
Hide whitespace changes
Inline
Side-by-side
common/ip/tapasco_status/.gitignore
View file @
ee793881
target/
project/
*.pyc
/chisel3/
/test/
common/ip/tapasco_status/axi/packaging/ModuleBuilder.scala
View file @
ee793881
package
chisel.packaging
import
chisel3._
import
scala.sys.process._
import
java.nio.file._
import
scala.language.postfixOps
/** Module definition.
* @param config Optional, arbitrary configuration object, passed to post build actions.
...
...
@@ -22,16 +24,35 @@ abstract class ModuleBuilder(packagingDir: String = "packaging") {
/** List of modules to build. */
val
modules
:
Seq
[
ModuleDef
]
private
def
extractScript
(
name
:
String
)
:
Path
=
{
val
p
=
Paths
.
get
(
java
.
io
.
File
.
createTempFile
(
"chisel-packaging-"
,
""
,
null
).
getAbsolutePath
.
toString
).
resolveSibling
(
name
)
val
ps
=
new
java
.
io
.
FileOutputStream
(
p
.
toFile
)
val
in
=
Option
(
getClass
().
getClassLoader
().
getResourceAsStream
(
name
))
if
(
in
.
isEmpty
)
throw
new
Exception
(
s
"$name not found in resources!"
)
in
map
{
is
=>
Iterator
continually
(
is
.
read
)
takeWhile
(-
1
!=)
foreach
(
ps
.
write
)
ps
.
flush
()
ps
.
close
()
p
.
toFile
.
deleteOnExit
()
p
.
toFile
.
setExecutable
(
true
)
Paths
.
get
(
p
.
toString
)
}
get
}
def
main
(
args
:
Array
[
String
])
{
assert
((
modules
map
(
_
.
core
.
name
.
toLowerCase
)).
toSet
.
size
==
modules
.
length
,
"module names must be unique"
)
val
fm
=
modules
filter
(
m
=>
args
.
length
==
0
||
args
.
map
(
_
.
toLowerCase
).
contains
(
m
.
core
.
name
.
toLowerCase
))
assert
(
fm
.
length
>
0
,
"no matching cores found for: "
+
args
.
mkString
(
", "
))
val
(
packaging
,
axi
)
=
(
extractScript
(
"package.py"
),
extractScript
(
"axi4.py"
))
System
.
err
.
println
(
s
"packaging script in: ${packaging.toString}"
)
fm
foreach
{
m
=>
Driver
.
execute
(
chiselArgs
++
Array
(
"--target-dir"
,
m
.
core
.
root
,
"--top-name"
,
m
.
core
.
name
),
m
.
constr
)
m
.
core
.
postBuildActions
map
(
fn
=>
fn
.
apply
(
m
.
config
))
val
json
=
"%s/%s.json"
.
format
(
m
.
core
.
root
,
m
.
core
.
name
)
m
.
core
.
write
(
json
)
"%s/
packag
e.py %s"
.
format
(
packagingDir
,
json
).!
s
"${
packag
ing.toString} %s"
.
format
(
json
).!
}
}
}
common/ip/tapasco_status/axi/packaging/axi4.py
View file @
ee793881
__port_map
=
{
'AWID'
:
'io_{0}_writeAddr_bits_id'
,
'AWADDR'
:
'io_{0}_writeAddr_bits_addr'
,
'AWLEN'
:
'io_{0}_writeAddr_bits_burst_len'
,
'AWSIZE'
:
'io_{0}_writeAddr_bits_burst_size'
,
'AWBURST'
:
'io_{0}_writeAddr_bits_burst_burst'
,
'AWLOCK'
:
'io_{0}_writeAddr_bits_lock_lock'
,
'AWCACHE'
:
'io_{0}_writeAddr_bits_cache_cache'
,
'AWPROT'
:
'io_{0}_writeAddr_bits_prot_prot'
,
'AWQOS'
:
'io_{0}_writeAddr_bits_qos'
,
'AWREGION'
:
'io_{0}_writeAddr_bits_region'
,
'AWUSER'
:
'io_{0}_writeAddr_bits_user'
,
'AWVALID'
:
'io_{0}_writeAddr_valid'
,
'AWREADY'
:
'io_{0}_writeAddr_ready'
,
'WID'
:
'io_{0}_writeData_bits_id'
,
'WDATA'
:
'io_{0}_writeData_bits_data'
,
'WSTRB'
:
'io_{0}_writeData_bits_strb_strb'
,
'WLAST'
:
'io_{0}_writeData_bits_last'
,
'WUSER'
:
'io_{0}_writeData_bits_user'
,
'WVALID'
:
'io_{0}_writeData_valid'
,
'WREADY'
:
'io_{0}_writeData_ready'
,
'BID'
:
'io_{0}_writeResp_bits_bid'
,
'BRESP'
:
'io_{0}_writeResp_bits_bresp'
,
'BUSER'
:
'io_{0}_writeResp_bits_buser'
,
'BVALID'
:
'io_{0}_writeResp_valid'
,
'BREADY'
:
'io_{0}_writeResp_ready'
,
'ARID'
:
'io_{0}_readAddr_bits_id'
,
'ARADDR'
:
'io_{0}_readAddr_bits_addr'
,
'ARLEN'
:
'io_{0}_readAddr_bits_burst_len'
,
'ARSIZE'
:
'io_{0}_readAddr_bits_burst_size'
,
'ARBURST'
:
'io_{0}_readAddr_bits_burst_burst'
,
'ARLOCK'
:
'io_{0}_readAddr_bits_lock_lock'
,
'ARCACHE'
:
'io_{0}_readAddr_bits_cache_cache'
,
'ARPROT'
:
'io_{0}_readAddr_bits_prot_prot'
,
'ARQOS'
:
'io_{0}_readAddr_bits_qos'
,
'ARREGION'
:
'io_{0}_readAddr_bits_region'
,
'ARUSER'
:
'io_{0}_readAddr_bits_user'
,
'ARVALID'
:
'io_{0}_readAddr_valid'
,
'ARREADY'
:
'io_{0}_readAddr_ready'
,
'RID'
:
'io_{0}_readData_bits_id'
,
'RDATA'
:
'io_{0}_readData_bits_data'
,
'RRESP'
:
'io_{0}_readData_bits_resp'
,
'RLAST'
:
'io_{0}_readData_bits_last'
,
'RUSER'
:
'io_{0}_readData_bits_user'
,
'RVALID'
:
'io_{0}_readData_valid'
,
'RREADY'
:
'io_{0}_readData_ready'
'AWID'
:
'io_{0}_writeAddr_bits_id'
,
'AWADDR'
:
'io_{0}_writeAddr_bits_addr'
,
'AWLEN'
:
'io_{0}_writeAddr_bits_burst_len'
,
'AWSIZE'
:
'io_{0}_writeAddr_bits_burst_size'
,
'AWBURST'
:
'io_{0}_writeAddr_bits_burst_burst'
,
'AWLOCK'
:
'io_{0}_writeAddr_bits_lock_lock'
,
'AWCACHE'
:
'io_{0}_writeAddr_bits_cache_cache'
,
'AWPROT'
:
'io_{0}_writeAddr_bits_prot_prot'
,
'AWQOS'
:
'io_{0}_writeAddr_bits_qos'
,
'AWREGION'
:
'io_{0}_writeAddr_bits_region'
,
'AWUSER'
:
'io_{0}_writeAddr_bits_user'
,
'AWVALID'
:
'io_{0}_writeAddr_valid'
,
'AWREADY'
:
'io_{0}_writeAddr_ready'
,
'WID'
:
'io_{0}_writeData_bits_id'
,
'WDATA'
:
'io_{0}_writeData_bits_data'
,
'WSTRB'
:
'io_{0}_writeData_bits_strb_strb'
,
'WLAST'
:
'io_{0}_writeData_bits_last'
,
'WUSER'
:
'io_{0}_writeData_bits_user'
,
'WVALID'
:
'io_{0}_writeData_valid'
,
'WREADY'
:
'io_{0}_writeData_ready'
,
'BID'
:
'io_{0}_writeResp_bits_bid'
,
'BRESP'
:
'io_{0}_writeResp_bits_bresp'
,
'BUSER'
:
'io_{0}_writeResp_bits_buser'
,
'BVALID'
:
'io_{0}_writeResp_valid'
,
'BREADY'
:
'io_{0}_writeResp_ready'
,
'ARID'
:
'io_{0}_readAddr_bits_id'
,
'ARADDR'
:
'io_{0}_readAddr_bits_addr'
,
'ARLEN'
:
'io_{0}_readAddr_bits_burst_len'
,
'ARSIZE'
:
'io_{0}_readAddr_bits_burst_size'
,
'ARBURST'
:
'io_{0}_readAddr_bits_burst_burst'
,
'ARLOCK'
:
'io_{0}_readAddr_bits_lock_lock'
,
'ARCACHE'
:
'io_{0}_readAddr_bits_cache_cache'
,
'ARPROT'
:
'io_{0}_readAddr_bits_prot_prot'
,
'ARQOS'
:
'io_{0}_readAddr_bits_qos'
,
'ARREGION'
:
'io_{0}_readAddr_bits_region'
,
'ARUSER'
:
'io_{0}_readAddr_bits_user'
,
'ARVALID'
:
'io_{0}_readAddr_valid'
,
'ARREADY'
:
'io_{0}_readAddr_ready'
,
'RID'
:
'io_{0}_readData_bits_id'
,
'RDATA'
:
'io_{0}_readData_bits_data'
,
'RRESP'
:
'io_{0}_readData_bits_resp'
,
'RLAST'
:
'io_{0}_readData_bits_last'
,
'RUSER'
:
'io_{0}_readData_bits_user'
,
'RVALID'
:
'io_{0}_readData_valid'
,
'RREADY'
:
'io_{0}_readData_ready'
}
def
get_port_dict
(
name
):
return
{
k
:
v
.
format
(
name
)
for
k
,
v
in
__port_map
.
items
()}
retdict
=
{}
for
k
,
v
in
__port_map
.
items
():
retdict
[
k
]
=
v
.
format
(
name
)
return
retdict
common/ip/tapasco_status/axi/packaging/build.sbt
View file @
ee793881
...
...
@@ -6,6 +6,11 @@ version := "0.3-SNAPSHOT"
scalaVersion
:=
"2.11.11"
unmanagedResources
in
Compile
++=
Seq
(
baseDirectory
.
value
/
"package.py"
,
baseDirectory
.
value
/
"axi4.py"
)
resolvers
++=
Seq
(
Resolver
.
sonatypeRepo
(
"snapshots"
),
Resolver
.
sonatypeRepo
(
"releases"
)
...
...
common/ip/tapasco_status/build.sbt
View file @
ee793881
...
...
@@ -2,7 +2,7 @@ name := "tapasco-status"
organization
:=
"esa.cs.tu-darmstadt.de"
version
:=
"1.0
-SNAPSHOT
"
version
:=
"1.0"
scalaVersion
:=
"2.11.12"
...
...
@@ -34,3 +34,7 @@ lazy val tapascostatus = (project in file(".")).dependsOn(packaging, axiutils, a
cleanFiles
++=
Seq
((
baseDirectory
.
value
/
"test"
),
(
baseDirectory
.
value
/
"ip"
),
(
baseDirectory
.
value
/
"chisel3"
))
aggregate
in
test
:=
false
assemblyJarName
in
assembly
:=
s
"tapasco-status-${version.value}.jar"
test
in
assembly
:=
false
common/ip/tapasco_status/packaging/ModuleBuilder.scala
View file @
ee793881
package
chisel.packaging
import
chisel3._
import
scala.sys.process._
import
java.nio.file._
import
scala.language.postfixOps
/** Module definition.
* @param config Optional, arbitrary configuration object, passed to post build actions.
...
...
@@ -22,16 +24,35 @@ abstract class ModuleBuilder(packagingDir: String = "packaging") {
/** List of modules to build. */
val
modules
:
Seq
[
ModuleDef
]
private
def
extractScript
(
name
:
String
)
:
Path
=
{
val
p
=
Paths
.
get
(
java
.
io
.
File
.
createTempFile
(
"chisel-packaging-"
,
""
,
null
).
getAbsolutePath
.
toString
).
resolveSibling
(
name
)
val
ps
=
new
java
.
io
.
FileOutputStream
(
p
.
toFile
)
val
in
=
Option
(
getClass
().
getClassLoader
().
getResourceAsStream
(
name
))
if
(
in
.
isEmpty
)
throw
new
Exception
(
s
"$name not found in resources!"
)
in
map
{
is
=>
Iterator
continually
(
is
.
read
)
takeWhile
(-
1
!=)
foreach
(
ps
.
write
)
ps
.
flush
()
ps
.
close
()
p
.
toFile
.
deleteOnExit
()
p
.
toFile
.
setExecutable
(
true
)
Paths
.
get
(
p
.
toString
)
}
get
}
def
main
(
args
:
Array
[
String
])
{
assert
((
modules
map
(
_
.
core
.
name
.
toLowerCase
)).
toSet
.
size
==
modules
.
length
,
"module names must be unique"
)
val
fm
=
modules
filter
(
m
=>
args
.
length
==
0
||
args
.
map
(
_
.
toLowerCase
).
contains
(
m
.
core
.
name
.
toLowerCase
))
assert
(
fm
.
length
>
0
,
"no matching cores found for: "
+
args
.
mkString
(
", "
))
val
(
packaging
,
axi
)
=
(
extractScript
(
"package.py"
),
extractScript
(
"axi4.py"
))
System
.
err
.
println
(
s
"packaging script in: ${packaging.toString}"
)
fm
foreach
{
m
=>
Driver
.
execute
(
chiselArgs
++
Array
(
"--target-dir"
,
m
.
core
.
root
,
"--top-name"
,
m
.
core
.
name
),
m
.
constr
)
m
.
core
.
postBuildActions
map
(
fn
=>
fn
.
apply
(
m
.
config
))
val
json
=
"%s/%s.json"
.
format
(
m
.
core
.
root
,
m
.
core
.
name
)
m
.
core
.
write
(
json
)
"%s/
packag
e.py %s"
.
format
(
packagingDir
,
json
).!
s
"${
packag
ing.toString} %s"
.
format
(
json
).!
}
}
}
common/ip/tapasco_status/packaging/axi4.py
View file @
ee793881
__port_map
=
{
'AWID'
:
'io_{0}_writeAddr_bits_id'
,
'AWADDR'
:
'io_{0}_writeAddr_bits_addr'
,
'AWLEN'
:
'io_{0}_writeAddr_bits_burst_len'
,
'AWSIZE'
:
'io_{0}_writeAddr_bits_burst_size'
,
'AWBURST'
:
'io_{0}_writeAddr_bits_burst_burst'
,
'AWLOCK'
:
'io_{0}_writeAddr_bits_lock_lock'
,
'AWCACHE'
:
'io_{0}_writeAddr_bits_cache_cache'
,
'AWPROT'
:
'io_{0}_writeAddr_bits_prot_prot'
,
'AWQOS'
:
'io_{0}_writeAddr_bits_qos'
,
'AWREGION'
:
'io_{0}_writeAddr_bits_region'
,
'AWUSER'
:
'io_{0}_writeAddr_bits_user'
,
'AWVALID'
:
'io_{0}_writeAddr_valid'
,
'AWREADY'
:
'io_{0}_writeAddr_ready'
,
'WID'
:
'io_{0}_writeData_bits_id'
,
'WDATA'
:
'io_{0}_writeData_bits_data'
,
'WSTRB'
:
'io_{0}_writeData_bits_strb_strb'
,
'WLAST'
:
'io_{0}_writeData_bits_last'
,
'WUSER'
:
'io_{0}_writeData_bits_user'
,
'WVALID'
:
'io_{0}_writeData_valid'
,
'WREADY'
:
'io_{0}_writeData_ready'
,
'BID'
:
'io_{0}_writeResp_bits_bid'
,
'BRESP'
:
'io_{0}_writeResp_bits_bresp'
,
'BUSER'
:
'io_{0}_writeResp_bits_buser'
,
'BVALID'
:
'io_{0}_writeResp_valid'
,
'BREADY'
:
'io_{0}_writeResp_ready'
,
'ARID'
:
'io_{0}_readAddr_bits_id'
,
'ARADDR'
:
'io_{0}_readAddr_bits_addr'
,
'ARLEN'
:
'io_{0}_readAddr_bits_burst_len'
,
'ARSIZE'
:
'io_{0}_readAddr_bits_burst_size'
,
'ARBURST'
:
'io_{0}_readAddr_bits_burst_burst'
,
'ARLOCK'
:
'io_{0}_readAddr_bits_lock_lock'
,
'ARCACHE'
:
'io_{0}_readAddr_bits_cache_cache'
,
'ARPROT'
:
'io_{0}_readAddr_bits_prot_prot'
,
'ARQOS'
:
'io_{0}_readAddr_bits_qos'
,
'ARREGION'
:
'io_{0}_readAddr_bits_region'
,
'ARUSER'
:
'io_{0}_readAddr_bits_user'
,
'ARVALID'
:
'io_{0}_readAddr_valid'
,
'ARREADY'
:
'io_{0}_readAddr_ready'
,
'RID'
:
'io_{0}_readData_bits_id'
,
'RDATA'
:
'io_{0}_readData_bits_data'
,
'RRESP'
:
'io_{0}_readData_bits_resp'
,
'RLAST'
:
'io_{0}_readData_bits_last'
,
'RUSER'
:
'io_{0}_readData_bits_user'
,
'RVALID'
:
'io_{0}_readData_valid'
,
'RREADY'
:
'io_{0}_readData_ready'
'AWID'
:
'io_{0}_writeAddr_bits_id'
,
'AWADDR'
:
'io_{0}_writeAddr_bits_addr'
,
'AWLEN'
:
'io_{0}_writeAddr_bits_burst_len'
,
'AWSIZE'
:
'io_{0}_writeAddr_bits_burst_size'
,
'AWBURST'
:
'io_{0}_writeAddr_bits_burst_burst'
,
'AWLOCK'
:
'io_{0}_writeAddr_bits_lock_lock'
,
'AWCACHE'
:
'io_{0}_writeAddr_bits_cache_cache'
,
'AWPROT'
:
'io_{0}_writeAddr_bits_prot_prot'
,
'AWQOS'
:
'io_{0}_writeAddr_bits_qos'
,
'AWREGION'
:
'io_{0}_writeAddr_bits_region'
,
'AWUSER'
:
'io_{0}_writeAddr_bits_user'
,
'AWVALID'
:
'io_{0}_writeAddr_valid'
,
'AWREADY'
:
'io_{0}_writeAddr_ready'
,
'WID'
:
'io_{0}_writeData_bits_id'
,
'WDATA'
:
'io_{0}_writeData_bits_data'
,
'WSTRB'
:
'io_{0}_writeData_bits_strb_strb'
,
'WLAST'
:
'io_{0}_writeData_bits_last'
,
'WUSER'
:
'io_{0}_writeData_bits_user'
,
'WVALID'
:
'io_{0}_writeData_valid'
,
'WREADY'
:
'io_{0}_writeData_ready'
,
'BID'
:
'io_{0}_writeResp_bits_bid'
,
'BRESP'
:
'io_{0}_writeResp_bits_bresp'
,
'BUSER'
:
'io_{0}_writeResp_bits_buser'
,
'BVALID'
:
'io_{0}_writeResp_valid'
,
'BREADY'
:
'io_{0}_writeResp_ready'
,
'ARID'
:
'io_{0}_readAddr_bits_id'
,
'ARADDR'
:
'io_{0}_readAddr_bits_addr'
,
'ARLEN'
:
'io_{0}_readAddr_bits_burst_len'
,
'ARSIZE'
:
'io_{0}_readAddr_bits_burst_size'
,
'ARBURST'
:
'io_{0}_readAddr_bits_burst_burst'
,
'ARLOCK'
:
'io_{0}_readAddr_bits_lock_lock'
,
'ARCACHE'
:
'io_{0}_readAddr_bits_cache_cache'
,
'ARPROT'
:
'io_{0}_readAddr_bits_prot_prot'
,
'ARQOS'
:
'io_{0}_readAddr_bits_qos'
,
'ARREGION'
:
'io_{0}_readAddr_bits_region'
,
'ARUSER'
:
'io_{0}_readAddr_bits_user'
,
'ARVALID'
:
'io_{0}_readAddr_valid'
,
'ARREADY'
:
'io_{0}_readAddr_ready'
,
'RID'
:
'io_{0}_readData_bits_id'
,
'RDATA'
:
'io_{0}_readData_bits_data'
,
'RRESP'
:
'io_{0}_readData_bits_resp'
,
'RLAST'
:
'io_{0}_readData_bits_last'
,
'RUSER'
:
'io_{0}_readData_bits_user'
,
'RVALID'
:
'io_{0}_readData_valid'
,
'RREADY'
:
'io_{0}_readData_ready'
}
def
get_port_dict
(
name
):
return
{
k
:
v
.
format
(
name
)
for
k
,
v
in
__port_map
.
items
()}
retdict
=
{}
for
k
,
v
in
__port_map
.
items
():
retdict
[
k
]
=
v
.
format
(
name
)
return
retdict
common/ip/tapasco_status/packaging/build.sbt
View file @
ee793881
...
...
@@ -6,6 +6,11 @@ version := "0.3-SNAPSHOT"
scalaVersion
:=
"2.11.11"
unmanagedResources
in
Compile
++=
Seq
(
baseDirectory
.
value
/
"package.py"
,
baseDirectory
.
value
/
"axi4.py"
)
resolvers
++=
Seq
(
Resolver
.
sonatypeRepo
(
"snapshots"
),
Resolver
.
sonatypeRepo
(
"releases"
)
...
...
common/ip/tapasco_status/project/assembly.sbt
0 → 100644
View file @
ee793881
addSbtPlugin
(
"com.eed3si9n"
%
"sbt-assembly"
%
"0.14.6"
)
Jens Korinth
@jk
mentioned in commit
17f0d672
·
Mar 05, 2018
mentioned in commit
17f0d672
mentioned in commit 17f0d67240ebf5d7e1d0be9162d272b04256c47d
Toggle commit list
Write
Preview
Supports
Markdown
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