firrtl

2023-11-11

动手---sbt(2)之后,再回头看 chisel第一个实验,根据 https://github.com/freechipsproject/firrtl 发现firrtl没有执行sbt assembly命令,重新执行这个命令,结果成功。如下图:

joe@joe-Aspire-Z3730:/media/sdb4/download/firrtl/firrtl$ sbt assembly
[info] Loading settings from plugins.sbt ...
[info] Loading project definition from /media/46bb100d-2505-4025-8425-34ecf3129209/download/firrtl/firrtl/project
[info] Loading settings from build.sbt ...
[info] Set current project to firrtl (in build file:/media/46bb100d-2505-4025-8425-34ecf3129209/download/firrtl/firrtl/)
[info] Including: nscala-time_2.11-2.14.0.jar
[info] Including: slf4j-api-1.7.25.jar
[info] Including: json4s-core_2.11-3.5.3.jar
[info] Including: logback-classic-1.2.3.jar
[info] Including: scala-library-2.11.12.jar
[info] Including: joda-time-2.9.4.jar
[info] Including: logback-core-1.2.3.jar
[info] Including: json4s-ast_2.11-3.5.3.jar
[info] Including: joda-convert-1.2.jar
[info] Including: snakeyaml-1.17.jar
[info] Including: scopt_2.11-3.6.0.jar
[info] Including: json4s-scalap_2.11-3.5.3.jar
[info] Including: moultingyaml_2.11-0.4.0.jar
[info] Including: json4s-native_2.11-3.5.3.jar
[info] Including: scala-reflect-2.11.12.jar
[info] Including: paranamer-2.8.jar
[info] Including: scala-xml_2.11-1.0.6.jar
[info] Including: antlr4-runtime-4.7.jar
[info] Including: scala-logging_2.11-3.7.2.jar
[info] Checking every *.class/*.jar file's SHA-1.
[info] Merging files...
[warn] Merging 'META-INF/NOTICE.txt' with strategy 'rename'
[warn] Merging 'META-INF/LICENSE.txt' with strategy 'rename'
[warn] Merging 'META-INF/MANIFEST.MF' with strategy 'discard'
[warn] Merging 'META-INF/maven/ch.qos.logback/logback-classic/pom.properties' with strategy 'discard'
[warn] Merging 'META-INF/maven/ch.qos.logback/logback-classic/pom.xml' with strategy 'discard'
[warn] Merging 'META-INF/maven/ch.qos.logback/logback-core/pom.properties' with strategy 'discard'
[warn] Merging 'META-INF/maven/ch.qos.logback/logback-core/pom.xml' with strategy 'discard'
[warn] Merging 'META-INF/maven/com.thoughtworks.paranamer/paranamer/pom.properties' with strategy 'discard'
[warn] Merging 'META-INF/maven/com.thoughtworks.paranamer/paranamer/pom.xml' with strategy 'discard'
[warn] Merging 'META-INF/maven/joda-time/joda-time/pom.properties' with strategy 'discard'
[warn] Merging 'META-INF/maven/joda-time/joda-time/pom.xml' with strategy 'discard'
[warn] Merging 'META-INF/maven/org.antlr/antlr4-runtime/pom.properties' with strategy 'discard'
[warn] Merging 'META-INF/maven/org.antlr/antlr4-runtime/pom.xml' with strategy 'discard'
[warn] Merging 'META-INF/maven/org.joda/joda-convert/pom.properties' with strategy 'discard'
[warn] Merging 'META-INF/maven/org.joda/joda-convert/pom.xml' with strategy 'discard'
[warn] Merging 'META-INF/maven/org.slf4j/slf4j-api/pom.properties' with strategy 'discard'
[warn] Merging 'META-INF/maven/org.slf4j/slf4j-api/pom.xml' with strategy 'discard'
[warn] Merging 'META-INF/maven/org.yaml/snakeyaml/pom.properties' with strategy 'discard'
[warn] Merging 'META-INF/maven/org.yaml/snakeyaml/pom.xml' with strategy 'discard'
[warn] Strategy 'discard' was applied to 17 files
[warn] Strategy 'rename' was applied to 2 files
[info] SHA-1: d20bcaa38fa32c07d42993a42ddbb09b3a8c7b21
[info] Packaging /media/46bb100d-2505-4025-8425-34ecf3129209/download/firrtl/firrtl/./utils/bin/firrtl.jar ...
[info] Done packaging.
[success] Total time: 7 s, completed Jun 20, 2018 9:33:12 AM

但执行 sbt publish-local命令出錯

joe@joe-Aspire-Z3730:/media/sdb4/download/firrtl/firrtl$ sbt publish-local
[info] Loading settings from plugins.sbt ...
[info] Loading project definition from /media/46bb100d-2505-4025-8425-34ecf3129209/download/firrtl/firrtl/project
[info] Loading settings from build.sbt ...
[info] Set current project to firrtl (in build file:/media/46bb100d-2505-4025-8425-34ecf3129209/download/firrtl/firrtl/)
[error] Not a valid command: publish-local
[error] Not a valid project ID: publish-local
[error] Expected ':'
[error] Not a valid key: publish-local (similar: publishLocal, publishTo, publish)
[error] publish-local
[error]              ^

然后我根据上面网址的说明,执行测试操作:

joe@joe-Aspire-Z3730:/media/sdb4/download/firrtl/firrtl$ sbt "testOnly firrtlTests.UnitTests"
[info] Loading settings from plugins.sbt ...
[info] Loading project definition from /media/46bb100d-2505-4025-8425-34ecf3129209/download/firrtl/firrtl/project
[info] Loading settings from build.sbt ...
[info] Set current project to firrtl (in build file:/media/46bb100d-2505-4025-8425-34ecf3129209/download/firrtl/firrtl/)
Total FIRRTL Compile Time: 20.8 ms
[info] UnitTests:
[info] Pull muxes
[info] - should not be exponential in runtime
[info] Connecting bundles of different types
[info] - should throw an exception
[info] Initializing a register with a different type
[info] - should throw an exception
[info] Partial connection two bundle types whose relative flips don't match but leaf node directions do
[info] - should connect correctly
[info] Emitting a nested expression
[info] - should throw an exception
[info] After splitting, emitting a nested expression
[info] - should compile
[info] Simple compound expressions
[info] - should be split
[info] Smaller widths
[info] - should be explicitly padded
[info] Indexes into sub-accesses
[info] - should be dealt with
[info] Oversized bit select
[info] - should throw an exception
[info] Oversized head select
[info] - should throw an exception
[info] Oversized tail select
[info] - should throw an exception
[info] Partial connecting incompatable types
[info] - should throw an exception
[info] Conditional connection of clocks
[info] - should throw an exception
[info] Parsing SInts
[info] - should work
[info] Verilog SInts
[info] - should work
[info] Out of bound accesses
[info] - should be invalid
[info] ScalaTest
[info] Run completed in 1 second, 420 milliseconds.
[info] Total number of tests run: 17
[info] Suites: completed 1, aborted 0
[info] Tests: succeeded 17, failed 0, canceled 0, ignored 0, pending 0
[info] All tests passed.
[info] Passed: Total 17, Failed 0, Errors 0, Passed 17
[success] Total time: 4 s, completed Jun 20, 2018 9:43:22 AM

再执行sbt ~compile,一直出再下面的等待:

joe@joe-Aspire-Z3730:/media/sdb4/download/firrtl/firrtl$ sbt ~compile
[info] Loading settings from plugins.sbt ...
[info] Loading project definition from /media/46bb100d-2505-4025-8425-34ecf3129209/download/firrtl/firrtl/project
[info] Loading settings from build.sbt ...
[info] Set current project to firrtl (in build file:/media/46bb100d-2505-4025-8425-34ecf3129209/download/firrtl/firrtl/)
[success] Total time: 1 s, completed Jun 20, 2018 9:46:18 AM
1. Waiting for source changes... (press enter to interrupt)

我只好中断了。

此时,根据firrtl目录中的readme文件说明(不要再参考https://github.com/freechipsproject/firrtl),执行:

joe@joe-Aspire-Z3730:/media/sdb4/download/firrtl/firrtl$ ./utils/bin/firrtl -td regress -tn rocket --custom-transforms tutorial.lesson1.AnalyzeCircuit
------------------------------------------------------------------------------
Error: Input file regress/rocket.fir not found
------------------------------------------------------------------------------
Usage: firrtl [options] [<arg>...]

common options
  -tn, --top-name <top-level-circuit-name>
                           This options defines the top level circuit, defaults to dut when possible
  -td, --target-dir <target-directory>
                           This options defines a work directory for intermediate files, default is .
  -ll, --log-level <Error|Warn|Info|Debug|Trace>
                           This options defines a work directory for intermediate files, default is .
  -cll, --class-log-level <FullClassName:[Error|Warn|Info|Debug|Trace]>[,...]
                           This options defines a work directory for intermediate files, default is .
  -ltf, --log-to-file      default logs to stdout, this flags writes to topName.log or firrtl.log if no topName
  -lcn, --log-class-names  shows class names and log level in logging output, useful for target --class-log-level
  --help                   prints this usage text
  <arg>...                 optional unbounded args
firrtl options
  -i, --input-file <firrtl-source>
                           use this to override the default input file name , default is empty
  -o, --output-file <output>
                           use this to override the default output file name, default is empty
  -faf, --annotation-file <input-anno-file>
                           Used to specify annotation files (can appear multiple times)
  -foaf, --output-annotation-file <output-anno-file>
                           use this to set the annotation output file
  -X, --compiler <high|middle|low|verilog|sverilog>
                           compiler to use, default is verilog
  --info-mode <ignore|use|gen|append>
                           specifies the source info handling, default is append
  -fct, --custom-transforms <package>.<class>
                           runs these custom transforms during compilation.
  -fil, --inline <circuit>[.<module>[.<instance>]][,..],
                           Inline one or more module (comma separated, no spaces) module looks like "MyModule" or "MyModule.myinstance
  -firw, --infer-rw <circuit>
                           Enable readwrite port inference for the target circuit
  -frsq, --repl-seq-mem -c:<circuit>:-i:<filename>:-o:<filename>
                           Replace sequential memories with blackboxes + configuration file
  -clks, --list-clocks -c:<circuit>:-m:<module>:-o:<filename>
                           List which signal drives each clock of every descendent of specified module
  -fsm, --split-modules    Emit each module to its own file in the target directory.
  --no-check-comb-loops    Do NOT check for combinational loops (not recommended)
  --no-dce                 Do NOT run dead code elimination

既然出现问题,那就再回头参考 https://github.com/freechipsproject/firrtl 中说明:

oe@joe-Aspire-Z3730:/media/sdb4/download/firrtl/firrtl$ utils/bin/firrtl -i regress/rocket.fir -o regress/rocket.v -X verilog
------------------------------------------------------------------------------
Error: Input file regress/rocket.fir not found
------------------------------------------------------------------------------
Usage: firrtl [options] [<arg>...]

这说明,还是有问题。

发现 https://www.e-learn.cn/content/wangluowenzhang/186199 这个帖子有解决方法,并且提到 https://github.com/ucb-bar/chisel-template  教程

(以前的Max2目录下有测试代码),执行如下命令:

joe@joe-Aspire-Z3730:/media/sdb4/download/scala/chiseltest/chisel_max$ ls
build.sbt  max2.scala  project  target  test_run_dir
joe@joe-Aspire-Z3730:/media/sdb4/download/scala/chiseltest/chisel_max$ sbt "runMain Hellp"
[info] Loading project definition from /media/46bb100d-2505-4025-8425-34ecf3129209/download/scala/chiseltest/chisel_max/project
[info] Loading settings from build.sbt ...
[info] Set current project to chisel-tutorial (in build file:/media/46bb100d-2505-4025-8425-34ecf3129209/download/scala/chiseltest/chisel_max/)
[info] Running Hellp 
Error: Unknown option --backend
Error: Unknown option --compile
Try --help for more information.
[success] Total time: 3 s, completed Jun 20, 2018 10:34:03 AM

虽然成功了,但是还是没有发现.v文件。估计是不是要用到firrtl命令。

转载于:https://my.oschina.net/u/2963604/blog/1832576

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

firrtl 的相关文章

  • 清理码头 - 删除“不必要”的东西

    我习惯用Jetty http jetty codehaus org jetty 作为我的网络容器 我对我做了什么安装步骤得到原始的焦油球并且清理一些目录和文件从中 我在这里想提出的是 您通常从 Jetty 中删除什么以在生产 登台环境中使用
  • 使用 GWT CellTableBuilder 构建树表

    Is it possible to build a tree table like this http www sencha com examples ExamplePlace basictreegrid with the new Cell
  • “_加载小部件时出现问题”消息

    加载小部件时 如果找不到资源或其他内容 则会显示 加载小部件时出现问题 就这样 惊人的 此消息保留在主屏幕上 甚至没有说明加载时遇到问题的小部件 我通过反复试验弄清楚了这一点 但我想知道发生这种情况时是否有任何地方可以找到错误消息 Andr
  • 使用cameltestsupport进行Camel单元测试,模板始终为空

    我正在用 Camel 做一个简单的单元测试 我想做的就是从文件 在资源下 读取 JSON 内容 将其发送到 Java 类进行验证 这是我试图测试的路线 无论我做什么 模板 我用来发送正文 json 始终为空 这是我的代码 public cl
  • 如果在睡眠线程上调用interrupt()会发生什么?

    我有一个线程 然后run I call sleep 如果我中断这个线程会发生什么 MyThread extends Thread public void run try sleep 1000000 catch InterruptedExce
  • Grails 2.3.0 自动重新加载不起作用

    我最近将我们的项目升级到 grails 2 3 0 一切工作正常 除了每当我更改代码时自动重新加载都无法工作的问题 这包括所有项目工件 控制器 域 服务 gsps css 和 javascript 文件 我的旧版本 grails 可以正常工
  • eclipse中导入项目文件夹图标

    我在 Eclipse 工作区中新导入的 Maven 项目有J and M项目文件夹顶部的图标 项目和包资源管理器 而其他导入的 Maven 项目只有一个J icon 有人可以解释其中的区别吗 该项目有J装饰器被称为 Java 项目和具有M装
  • 使用 RecyclerView 适配器在运行时更改布局屏幕

    我有两个布局文件 如下所示 如果列表中存在数据 则我显示此布局 当列表为空时 我会显示此布局 现在我想在运行时更改布局 当用户从列表中删除最后一项时 我想将布局更改为第二张图片中显示的 空购物车布局 In getItemCount Recy
  • 如何将 android.net.Uri 转换为 java.net.URL? [复制]

    这个问题在这里已经有答案了 有没有办法从Uri to URL 我正在使用的库需要这个 它only接受一个URL但我需要在我的设备上使用图像 如果该方案的Uri is http or https new URL uri toString 应该
  • 具有共享依赖项的多模块项目的 Gradle 配置

    使用 gradle 制作第一个项目 所以我研究了 spring gradle hibernate 项目如何组织 gradle 文件 并开始制作自己的项目 但是 找不到错误 为什么我的配置不起作用 子项目无法解决依赖关系 所以项目树 Root
  • 如何获取 WebElement 的父级[重复]

    这个问题在这里已经有答案了 我试过了 private WebElement getParent final WebElement webElement return webElement findElement By xpath 但我得到
  • Java 收集返回顶级项目的映射的嵌套流

    我有以下模型 class Item String name List
  • 无法捕获 Spring Batch 的 ItemWriter 中的异常

    我正在编写一个 Spring Batch 流程来将数据集从一个系统迁移到另一个系统 在这种情况下 这就像使用RowMapper实现在传递给查询之前从查询构建对象ItemWriter The ItemWriter称为save我的 DAO 上的
  • 如何在 Quartz 调度程序中每 25 秒运行一次?

    我正在使用 Java 的 Quartz Scheduling API 你能帮我使用 cron 表达式每 25 秒运行一次吗 这只是一个延迟 它不必总是从第 0 秒开始 例如 序列如下 0 00 0 25 0 50 1 15 1 40 2 0
  • 哪个集合更适合存储多维数组中的数据?

    我有一个multi dimensional array of string 我愿意将其转换为某种集合类型 以便我可以根据自己的意愿添加 删除和插入元素 在数组中 我无法删除特定位置的元素 我需要这样的集合 我可以在其中删除特定位置的数据 也
  • JSON 到 hashmap (杰克逊)

    我想将 JSON 转换为 HashMapJackson http jackson codehaus org 这是我的 JSON String json Opleidingen name Bijz trajecten zorg en welz
  • Java:多线程内的 XA 事务传播

    我如何使用事务管理器 例如Bitronix http docs codehaus org display BTM Home JBoss TS http www jboss org jbosstm or Atomikos http www a
  • Hibernate 和可序列化实体

    有谁知道是否有一个框架能够从实体类中剥离 Hibernate 集合以使它们可序列化 我查看了 BeanLib 但它似乎只进行实体的深层复制 而不允许我为实体类中的集合类型指定实现映射 BeanLib 目前不适用于 Hibernate 3 5
  • Java &= 运算符应用 & 或 && 吗?

    Assuming boolean a false 我想知道是否这样做 a b 相当于 a a b logical AND a is false hence b is not evaluated 或者另一方面 这意味着 a a b Bitwi
  • JAXB - 列表<可序列化>?

    我使用 xjc 制作了一些课程 public class MyType XmlElementRefs XmlElementRef name MyInnerType type JAXBElement class required false

随机推荐

  • 通过python构建一个区块链来学习区块链

    了解区块链Blockchains如何工作的最快方法就是构建一个区块链 你来到这里是因为 和我一样 你对加密钱币的崛起感到很兴奋 而且你想知道区块链是如何工作的 想了解它们背后的基本技术 但理解区块链并不容易 或者至少不适合我 我在密集的视频
  • Fisco-bsco 开发联盟链 账户之间的转账

    Fisco bsco 开发联盟链 账户之间的转账 参考 开发第一个区块链应用 FISCO BCOS v2 9 0 文档 fisco bcos documentation readthedocs io 前提 Fisco bcos节点开启 控制
  • 容器性能比无容器服务器,【译】容器 vs 无服务器(Serverless)

    一些历史 不久之前 开发 部署和运维还相当复杂 在一开始 运维不仅需要修补程序代码 还要支持物理机器 保持服务器 硬件与软件处于最新状态也是一项艰巨的任务 在2000年代 一个新的模型 架构即服务 IaaS 很快流行起来 IaaS提供了从第
  • OSG的控制台报错处理

    OSG报错或者出现警告怎么办 最快解决方法是查资料问人 但是都不凑效的情况下 只能分析源码了 报错信息如下 报错调用方定位 触发位置 State cpp bool State checkGLErrors StateAttribute GLM
  • JSP连接数据库

    2019 10 15 JSP连接数据库 一 连接数据库需要用到的包为mysql connector java 5 1 20 bin jar 导入包的方法有两种 1 在Java Build Path中倒导入 2 把我们需要的包拷入WEB IN
  • Java之XML解析-使用dom(org.w3c.dom)解析XML

    转自 Java之XML解析 使用dom org w3c dom 解析XML 下文笔者将讲述使用W3C org w3c dom 提供的接口 解析XML文档的方法分享 W3C解析xml文档的方法 将整个xml文档读入内存 然后构建一个DOM树
  • 如何查看和修改gcc、g++默认include路径

    如何查找gcc g 默认include路径 注意 是Tab上面的那个符号 gcc gcc print prog name cc1plus v g g print prog name cc1plus v 我们都知道在编译的预处理阶段 编译器会
  • Python爬虫的requests(学习于b站尚硅谷)

    目录 一 requests 1 requests的基本使用 1 文档 2 安装 3 响应response的属性以及类型 4 代码演示 2 requests之get请求 3 requests之post请求 1 演示示例 爬取百度翻译 2 ge
  • simulink半桥逆变电路仿真

    逆变是将直流变为脉冲方波信号 电压是100V的 第一幅为原始直流信号 第二幅是逆变电流 第三幅是逆变电压 参数设置 图3 RC1 图4 RC 图5 晶闸管 图6 脉冲信号的参数
  • Java常用类(比较器、System类、Math类、BigInteger和BigDecimal类)

    Java常用类 比较器 System类 Math类 BigInteger和BigDecimal类 一 比较器 一 自然排序 使用Comparable接口 二 定制排序 使用Comparator接口 二 System类 三 Math类 四 B
  • ServletContext

    ServletContext上下文提供对应用程序中所有Servlet所共有的各种资源和功能的访问 Servlet上下文 API用于设置应用程序中所有Servlet共有的信息 Servlet可能需要共享他们之间的共有信息 运行于同 一服务器的
  • 如何使用groovy语言访问url时绕过https ssl认证校验?

    记录一下使用groovy解决https ssl校验问题 import javax net ssl HostnameVerifier import javax net ssl HttpsURLConnection import javax n
  • 生产数据库数据误删、错刷恢复备份实战

    文章目录 故障起因 前提 全备 全备脚本 增备 数据库配置要求 增备脚本 定时备份 故障处理 思路 全备恢复 解析增备 新建binlog解析导出目录 查看整点binlog列表 将每个整点的增量备份文件导出到sql文件 选定结束导入的SQL文
  • react函数式组件(hooks)之useEffect

    文章目录 前言 一 useEffect的作用 二 useEffect的使用 1 class组件 2 函数式组件 总结 前言 React函数式编程没有生命周期 因此需要借助useEffect来实现 一 useEffect的作用 发ajax请求
  • Swift4.0--Photos框架的使用附从相簿中获取图片

    首先发布Demo链接 Photos从相簿中获取图片 效果展示 一 Photos简介 在iOS 8之前 开发者只能用 AssetsLibrary 框架访问的用户的照片库 几年以来 相机应用和照片应用发生了显著的变化 增加了许多新特性 包括按时
  • invalid Key or Package

    使用EasyAR打包apk后出现invalid Key or Packag解决方案 1 Bundle ID IOS 和 PackageName Android 填写的对不对 2 回头看Unity里面Player Setting 里面的名字可
  • Qt 文件读写操作

    转载 http blog csdn net ei nino article details 7301132 文列出Qt读写文件常用方式 还有对文件的一些简单操作 读文件 cpp view plain copy print QString f
  • day28 回溯

    39 组合总和 数字可以被无限制选取 但是无需考虑顺序 组合 因此递归还是需要考虑startIdx 但是每次都从最开始进行回溯 而不是startIdx 1 40 组合总和II 通过标识去除重复值 树层去重 131 分割回文串 每次找到切割点
  • 孩子们的游戏(圆圈中最后剩下的数)

    每年六一儿童节 牛客都会准备一些小礼物去看望孤儿院的小朋友 今年亦是如此 HF作为牛客的资深元老 自然也准备了一些小游戏其中 有个游戏是这样的 首先 让小朋友们围成一个大圈 然后 他随机指定一个数米 让编号为0的小朋友开始报数 每次喊到M
  • firrtl

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 动手 sbt 2 之后 再回头看 chisel第一个实验 根据 https github com freechipsproject firrtl 发现firrtl没有执行s