如果我有一个向量并且我想从某个地方开始读取它的一部分,我可以使用语法“vector[staring_point +: output_length]”,starting_point 是 integer 吗? 可以合成吗? 如果我写这样的代码: 设计就是这样,输入和 output 绑定到 GPIO。 ...
如果我有一个向量并且我想从某个地方开始读取它的一部分,我可以使用语法“vector[staring_point +: output_length]”,starting_point 是 integer 吗? 可以合成吗? 如果我写这样的代码: 设计就是这样,输入和 output 绑定到 GPIO。 ...
我想在 VHDL 中对 std_logic_vector 进行切片,以获得固定尺寸的部分。 一般的问题是:din N*M bits dout M bits sel clog2(N) bits 示例中的预期行为(伪代码):输入 16 位,希望将其分成 4 个子向量,每个子向量为 4 位。s ...
我正在使用 zynq 开发板。 由于DMA的存在,我的CPU缓存无法检测到memory的变化,在裸机开发中,我可以使用xilinx提供的缓存function来解决这个问题。 我想知道linux里面有没有类似function的,怎么用在 Linux kernel 源码中,我找到了这个文件和函数,我应该 ...
生成比特流时出现以下错误: [DRC NSTD-1] 未指定的 I/O 标准:14 个逻辑端口中有 9 个使用 I/O 标准 (IOSTANDARD) 值“DEFAULT”,而不是用户指定的特定值。 这可能会导致 I/O 争用或与电路板电源或连接性不兼容,从而影响性能、信号完整性,或者在极端情况 ...
我想将一个实数转换为他的位表示,在 VHDL TB 中使用符号、指数和尾数字段用于测试目的(作为 32 位的 STD_LOGIC_VECTOR)。 有没有办法直接在 VHDL 中将实数转换为这种表示形式? 我知道在 C 中可以使用结构来实现它,但我不知道在 VHDL 中是否可行。 谢谢你。 编辑: ...
我正在尝试使用移位寄存器来延迟 32 位信号。 我的逻辑是单个触发器将信号延迟 1 个时钟,所以我使用移位寄存器,因为它是触发器的组合,有人可以指导我这段代码有什么问题。 ...
我目前正在尝试在我的 DE 系列板上运行 ARM 程序集。 但是,当我尝试打开我的项目时,英特尔 FPGA 监控程序出现以下错误: 运行“make DETECT_DEVICES”时出错。 (java.io.IOException:管道正在关闭) 我该如何解决? ...
我在 Windows 10 上安装了带有所有驱动程序的 Vivado(2022.2) ML Standard。当我尝试在 Vivado 硬件管理器中自动或手动连接 ARTY A7 时,设备没有显示。 我尝试了什么: 换了USB线, 将设备连接到正在工作的其他 PC, 重装vivado, 通过运行 ...
首先我用verilog合成了一个支持RISCV32IM的CPU,但是无法测试CPU是否正常工作。 我希望有一个编译器(比如GCC)能生成指令帮我测试,但是一般的编译器只能生成需要操作系统的EXE文件。 显然,我的FPGA做不到这一点。 我只需要一系列能在FPGA上运行并能实现相应功能的RISCV32 ...
我正在尝试设计一个 32 位 ALU。 当使用 Modelsim 进行模拟时,输出 R 会像这样与 x 和 0 混合,在时间 = 20 时计算加法,在时间 = 40 时计算减法。 在 ALU 中,我只调用 3 个模块。 加法器、减法器和 32 位 2x1 多路复用器。 除了加法器和减法器,我将在 ...
在任何硬件定义语言中,我知道我们不能声明一个循环来为某个变量在某些电路上循环 n 次,而我们需要为一个固定值循环。 所以我想问一下,如果我有以下代码片段:我正在用 verilog 编写某种伪代码,这是一个未完成的代码。 我想做类似这样的东西,但我又一次知道这在硬件描述语言中不起作用,所以我应该如何 ...
我正在尝试重写一些要在 FPGA 上实现的 Verilog 文件。 这意味着我需要将一些 SystemVerilog 重写为 Verilog,以便可以对其进行综合。 我使用的代码具有 realtime.net 类型并调用 function $realtime,我不知道如何将其重写为常规 Veril ...
我正在尝试在 System Verilog 中编写一个 FSM 作为密码检测器。 将使用标有 b1、b2、b3、b4 的 4 个按钮输入密码。 正确的密码是 b1-b2-b3-b4。 这是我对前两种状态的逻辑和代码: 我的 FSM 从 STA 到 STB 正常,但是在从 STB 到 STC 输入正 ...
你好。 我有一个这样的模块。 它所做的基本上是延迟 output。我希望它在我的 FPGA 硬件中引起延迟。 但是当我检查 RTL Viewer 时,我看到 Quartus 优化了路径并且它不再像我想要的那样工作。 output 直接连接到输入,而不是在它们之间有 10 个非门。 我将所有电线 ...
我一直在使用 Radiant Software 在 Lattice Seminconductor FPGA 上分配引脚。 FPGA 嵌入在包含 LED 和按钮的评估板上。 打开window分配管脚时,每个管脚都有一个名为“极性”的列来描述,如下所示。 可以看出,引脚 H1 和 J1 的极性相反。 ...
我正在尝试按照 Volnei 的书中介绍的方法(基于完整计数)在 FPGA 上练习去抖动(“Circuit Design with VHDL third edition”)。 该电路的一个非常重要的特性是定时器的构造方式,它消除了对比较器(大型电路)的需要。 例如,对于刚刚给出的数值,$S = 5 ...
我有用于从 FPGA 的数字端口生成不同频率的简单代码。 但它不会改变执行过程中的频率。 如果我停止程序的执行并更改枚举变量,频率将会改变。 但在运行周期内它没有。 ...
我正在尝试在各种 if else 语句中实例化模块,但我在 if 括号中的第一个参数“信号不是常量”中遇到错误。我的 if 和 if else 语句括号中的所有 arguments 都是输入线,我不知道怎么了谢谢我已经尝试将信号从矩阵传递到矩阵的每个 position 的单个输入,但这也不起作用下面 ...
我正在使用 Intel Stratix 10 FPGA 和 Quartus Prime Pro 21.4 开发电源测试项目。 我不知道如何阻止 Quartus 优化我的 DSP 模块。 我想在我们的 FPGA 中使用所有 3000 个 DSP 块,以便我可以看到 DSP 块的最大电流消耗。 当然, ...
大家好,我写了一些 VHDL 代码来实现从我的 FPGA 到我的桌面的 UART-TX。 为了触发数据发送,我使用来自板载开关的信号(去抖动)。 只要按下按钮,就会发送数据。 不可避免地,为了尽可能快地按下和释放此开关,FPGA 会向笔记本电脑发送许多 UART 数据包副本。 这是因为我直接将按钮信 ...