免责声明:由于我们的代码库仍处于过渡阶段,因此以下问题将以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)。一旦确定了哪个束,就需要确定将值分配给哪个元素。
所以,我的问题是:
有没有办法为凿子中的束获取这样的地图?
而且,有没有人尝试做与我要达到的目标类似的事情?
答案 0 :(得分:3)
捆绑包的字段elements
返回ListMap[String, Data]
,其中键是字段的名称,值是Chisel
Data
元素。您不仅可以使用此地图检查Bundle的字段,还可以连接到其中的某些字段,例如。
b1.elements("e3").elements("f1") := 5.U