通过解析文件将值分配给包的元素

时间:2018-11-05 11:25:31

标签: scala chisel

免责声明:由于我们的代码库仍处于过渡阶段,因此以下问题将以Chisel-2语义表示。

我正在尝试在Scala / Chisel中实现一个脚本,该脚本将从文本文件中读取一些配置数据并将其分配给适当的包。

想象一下捆绑包是这样的:

'H:m'

文本文件可以通过以下方式具有配置数据:

<select id="hours">
<?php
for ($h = 0; $h < 24; $h++) printf("<option value=\"$h\"" . (!$h ? " selected" : "") . ">%02d</option>", $h);
?>
</select>
<select id="minutes">
<?php
for ($m = 0; $m < 60; $m++) printf("<option value=\"$m\"" . (!$m ? " selected" : "") . ">%02d</option>", $m);
?>
</select>

我打算逐行读取文件,并使用正则表达式先找到相应的包,然后使用包中的元素将值分配给该包。

为此,我需要某种形式的捆绑包映射(在这种情况下为b1和b2)。一旦确定了哪个束,就需要确定将值分配给哪个元素。

所以,我的问题是:

有没有办法为凿子中的束获取这样的地图?

而且,有没有人尝试做与我要达到的目标类似的事情?

1 个答案:

答案 0 :(得分:3)

捆绑包的字段elements返回ListMap[String, Data],其中键是字段的名称,值是Chisel Data元素。您不仅可以使用此地图检查Bundle的字段,还可以连接到其中的某些字段,例如。

b1.elements("e3").elements("f1") := 5.U