问题标签 [bluespec]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
808 浏览

hdl - Bluespec $display 函数内

当我尝试在函数定义中使用 $display 时,Bluespec 会抱怨。

它只允许在规则定义中。

有没有办法可以在函数中显示变量名?

我认为它可能正在使用 ActionValue# 但我无法正确使用语法。我也无法在网上找到示例。

谢谢

0 投票
1 回答
2589 浏览

assembly - MIPS 的“addi”指令溢出 - 示例

我意识到addi指令会导致溢出异常。我目前正在使用 Bluespec HDL 来模拟导致异常的处理器并适当地处理它们。

无论如何,我正在编写一些测试用例来触发溢出异常,特别是使用 MIPS 的 addi 命令。

注意:我正在测试的处理器是基于 SMIPS 的,但我支持一些 MIPS 指令用于异常和中断等目的。

我知道我检测溢出的逻辑是正确的(下面的伪代码):

问题:什么可能是溢出的示例:我正在尝试以下操作:(使用内联汇编__asm__

这并没有引发异常。如果我尝试这个:

我收到一个汇编错误,因为立即数必须是 16 位。我怎样才能从 andi 获得溢出?你能给我很好的例子吗...我需要使用其他指令来填充高位吗?

谢谢你

0 投票
1 回答
1593 浏览

vhdl - 如何使用右移位器实现左移位器?

我已经使用 5 级多路复用器(Shift1/2/4/8/16)实现了一个右移位器(32 位)。我的问题是如何扩展我的实现以用最少的附加硬件实现左移位器?

0 投票
1 回答
350 浏览

random - 为什么 16 位 LFSR 能通过所有 Diehard 测试?

我在硬件中实现了 LFSR。它基于维基百科页面中的 LFSR。它具有相同的输出。

它通过了顽固分子的所有测试,但是,如果我绘制这些对,我会在 2D 中得到这不是很随机的线

LFSR 的 2D 图

那么,我怎样才能有一个强大的统计测试来证明这个 PRNG 并不理想呢?

解决了:

我必须使用命令

并在输出文件中添加一个标题,我有我的号码。

0 投票
2 回答
159 浏览

verilog - 这个模块的目的是什么?

在上面的代码中使用的格式是什么,我知道在实例化模块时 .x1 用于匹配变量名,但是模块定义呢。这里是什么意思?

0 投票
2 回答
62 浏览

hdl - 在 Bluespec SV 中为向量结构赋值

在上面的 BSV 代码中,我需要为comp_tag1_table(有 2 个 TAG1 数据类型的条目)和comp_tag2_table(有 2 个 TAG2 数据类型的条目)分配值。

我尝试过使用...类似...的东西, pred_pkt.comp_tag1_table[ti] <= 8'b101其中 ti 可以是 0 或 1,但这似乎并不能解决问题。我猜它不可能是一个数组。

0 投票
1 回答
135 浏览

bluespec - 寄存器大小的向量不能由模块参数参数化

我想使用模块参数作为 Vector 的大小参数,其中包含寄存器,我尝试下一个代码:

但是用 bsc 编译这个模块我得到下一条错误消息:

bsc 版本:

如果我使用 not Registers 作为一种 Vector 元素,一切正常。下一个代码不会产生错误:

我无法理解,为什么qsizeUnbound被明确声明为参数?如果我做错了什么,请你帮我解释一下,如何正确地制作 Regs 的参数化大小向量?

0 投票
0 回答
65 浏览

coq - How to implement a spec and prove it using kami?

I’m a beginner to kami and coq. I’m trying to implement a spec and prove the same using kami. Can anyone please tell me how to start with the coding part,how to write code for the implementation and spec in kami?

0 投票
1 回答
147 浏览

fpga - 如何将软件链接到 BlueSpec RISC-V 实施?

我希望你一切都好。

我从 RISC-V 开始,我希望BlueSpec SSITH P1 RISC-V在我的本地 FPGA(Arty A7 100T 或 ZCU102 Zynq UltraScale)中运行。因此,使用 Vivado,我将 SSITH P1 IP 内核连接到以下赛灵思 IP 内核:Block RAM(单端口 ROM 存储器)、UART16550、GPIO 和 Block RAM(单端口 RAM 存储器),地址为 0x7000_0000、0x6230_0000、0x6FFF_0000 和 0xC000_0000 ,分别在SoC_Map中定义。图片已附上。

我的问题是:如何将软件链接到硬件?

我想执行一个 Hello 程序并检查通过 UART 打印的字符串。显然,我不能为此使用 Vitis 平台,因为它无法识别 RISC-V 处理器。我使用 RISC-V 工具链和可用于Potato RISC-V 引导加载程序示例的链接器生成了 Hello_world.coe(加载在 ROM IP 内核中)和 Hello_world.elf 。我也很欣赏任何关于如何在 FPGA 上运行 BlueSpec 内核的教程。

我非常感谢您能提供的任何帮助。SSITH P1 内核和 Xilinx IP 内核

0 投票
0 回答
35 浏览

bluespec - 关于附带条件的澄清

我正在研究 Bluespec System Verilog。

在 Shakti 处理器的源代码中,我找到了这个模块定义:

我不明白怎么

从语言文档中我了解到

但是 a__ 和 c__ 来自哪里?我到处寻找,我什么也没找到。