问题标签 [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.
hdl - Bluespec $display 函数内
当我尝试在函数定义中使用 $display 时,Bluespec 会抱怨。
它只允许在规则定义中。
有没有办法可以在函数中显示变量名?
我认为它可能正在使用 ActionValue# 但我无法正确使用语法。我也无法在网上找到示例。
谢谢
assembly - MIPS 的“addi”指令溢出 - 示例
我意识到addi指令会导致溢出异常。我目前正在使用 Bluespec HDL 来模拟导致异常的处理器并适当地处理它们。
无论如何,我正在编写一些测试用例来触发溢出异常,特别是使用 MIPS 的 addi 命令。
注意:我正在测试的处理器是基于 SMIPS 的,但我支持一些 MIPS 指令用于异常和中断等目的。
我知道我检测溢出的逻辑是正确的(下面的伪代码):
问题:什么可能是溢出的示例:我正在尝试以下操作:(使用内联汇编__asm__
)
这并没有引发异常。如果我尝试这个:
我收到一个汇编错误,因为立即数必须是 16 位。我怎样才能从 andi 获得溢出?你能给我很好的例子吗...我需要使用其他指令来填充高位吗?
谢谢你
vhdl - 如何使用右移位器实现左移位器?
我已经使用 5 级多路复用器(Shift1/2/4/8/16)实现了一个右移位器(32 位)。我的问题是如何扩展我的实现以用最少的附加硬件实现左移位器?
random - 为什么 16 位 LFSR 能通过所有 Diehard 测试?
我在硬件中实现了 LFSR。它基于维基百科页面中的 LFSR。它具有相同的输出。
它通过了顽固分子的所有测试,但是,如果我绘制这些对,我会在 2D 中得到这不是很随机的线
那么,我怎样才能有一个强大的统计测试来证明这个 PRNG 并不理想呢?
解决了:
我必须使用命令
并在输出文件中添加一个标题,我有我的号码。
verilog - 这个模块的目的是什么?
在上面的代码中使用的格式是什么,我知道在实例化模块时 .x1 用于匹配变量名,但是模块定义呢。这里是什么意思?
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,但这似乎并不能解决问题。我猜它不可能是一个数组。
bluespec - 寄存器大小的向量不能由模块参数参数化
我想使用模块参数作为 Vector 的大小参数,其中包含寄存器,我尝试下一个代码:
但是用 bsc 编译这个模块我得到下一条错误消息:
bsc 版本:
如果我使用 not Registers 作为一种 Vector 元素,一切正常。下一个代码不会产生错误:
我无法理解,为什么qsize
它Unbound
被明确声明为参数?如果我做错了什么,请你帮我解释一下,如何正确地制作 Regs 的参数化大小向量?
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?
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 内核的教程。
bluespec - 关于附带条件的澄清
我正在研究 Bluespec System Verilog。
在 Shakti 处理器的源代码中,我找到了这个模块定义:
我不明白怎么
从语言文档中我了解到
但是 a__ 和 c__ 来自哪里?我到处寻找,我什么也没找到。