首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在chiseltest测试工具中,`initSource`、`initSink`或`setSinkClock`的用途是什么?

在chiseltest测试工具中,`initSource`、`initSink`或`setSinkClock`的用途是什么?
EN

Stack Overflow用户
提问于 2021-08-21 06:17:59
回答 1查看 30关注 0票数 1

在chisel-template test example中,有一些用于解耦的方法的初始化调用:

代码语言:javascript
复制
class GCDSpec extends FreeSpec with ChiselScalatestTester {

  "Gcd should calculate proper greatest common denominator" in {
    test(new DecoupledGcd(16)) { dut =>
      dut.input.initSource()
      dut.input.setSourceClock(dut.clock)
      dut.output.initSink()
      dut.output.setSinkClock(dut.clock)

//...

我找不到解释这些方法用途的文档。为什么我们必须对解耦的输入进行“初始化源代码或接收器”?

api documentation中没有相关的文档。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-22 00:40:49

这两个init方法执行以下操作:dut.input.initSource()将输入解耦的有效信号设置为false.Bdut.output.initSink()将输出解耦的就绪信号设置为false.B,我认为您可以手动完成这些操作。时钟设置调用做了一些更复杂的事情,以便协调跨fork调用的时钟处理,这些调用通常与enqueuedequeue系列函数一起使用。这可能可以从but中推断出来,但是检测decoupled接口目前有点困难。

对这些函数样板调用可以更简洁地指定为

代码语言:javascript
复制
  dut.input.initSource().setSourceClock(dut.clock)
  dut.output.initSink().setSinkClock(dut.clock)

由于initSourceinitSync返回端口解耦的端口

至于文档,这对于解耦的帮助器来说绝对应该得到改进。我已经在现有的documentation issue中添加了一条注释来执行此操作

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68870630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档