|
12 | 12 |
|
13 | 13 | let
|
14 | 14 | binName = "gcd-vcs-simulator";
|
| 15 | + coverageName = "coverage.vdb"; |
| 16 | + enableCover = true; |
15 | 17 | in
|
16 | 18 | stdenv.mkDerivation (finalAttr: {
|
17 | 19 | name = "vcs";
|
@@ -41,10 +43,15 @@ stdenv.mkDerivation (finalAttr: {
|
41 | 43 | ${
|
42 | 44 | lib.optionalString dpi-lib.enable-trace ''
|
43 | 45 | -debug_access+pp+dmptf+thread \
|
44 |
| - -kdb=common_elab,hgldd_all'' |
| 46 | + -kdb=common_elab,hgldd_all \ |
| 47 | + -assert enable_diag '' |
| 48 | + } \ |
| 49 | + ${ |
| 50 | + lib.optionalString enableCover '' |
| 51 | + -cm line+cond+fsm+tgl+branch+assert \ |
| 52 | + -cm_dir ${coverageName} '' |
45 | 53 | } \
|
46 | 54 | -file filelist.f \
|
47 |
| - -assert enable_diag \ |
48 | 55 | ${dpi-lib}/lib/${dpi-lib.libOutName} \
|
49 | 56 | -o ${binName}
|
50 | 57 |
|
@@ -79,11 +86,18 @@ stdenv.mkDerivation (finalAttr: {
|
79 | 86 | cp ${binName} $out/lib
|
80 | 87 | cp -r ${binName}.daidir $out/lib
|
81 | 88 |
|
| 89 | + ${ |
| 90 | + lib.optionalString enableCover '' |
| 91 | + cp -r ${coverageName} $out/lib'' |
| 92 | + } \ |
| 93 | +
|
82 | 94 | substitute ${./scripts/vcs-wrapper.sh} $out/bin/${binName} \
|
| 95 | + --subst-var-by lib "$out/lib" \ |
83 | 96 | --subst-var-by shell "${bash}/bin/bash" \
|
84 | 97 | --subst-var-by dateBin "$(command -v date)" \
|
85 | 98 | --subst-var-by vcsSimBin "$out/lib/${binName}" \
|
86 | 99 | --subst-var-by vcsSimDaidir "$out/lib/${binName}.daidir" \
|
| 100 | + --subst-var-by vcsCovDir "${lib.optionalString enableCover "${coverageName}"}" \ |
87 | 101 | --subst-var-by vcsFhsEnv "${vcs-fhs-env}/bin/vcs-fhs-env"
|
88 | 102 | chmod +x $out/bin/${binName}
|
89 | 103 |
|
|
0 commit comments