标签: intel-fpga

FLI 需要 Cocotb VHDL

我目前正在建立一个基于 Cocotb 的验证环境。

我刚刚发现,如果使用 VHDL,Cocotb 提供的示例在我的情况下不起作用,因为我的模拟器没有 FLI(外语界面)。我收到以下消息:

错误(可抑制):(vsim-FLI-3155) 此版本的 ModelSim 中未启用 FLI。

(我有 ModelSim 的 Altera Starter 版本,确实不包括 FLI)。

令我惊讶的是,该示例适用于 Verilog。据我了解,Verilog 使用的不是 FLI,而是 VPI。

如果 FLI 的需求是强制性的,那么有人可以解释一下,Cocotb 中可以启用它的功能是什么?

另一个问题:如果我的顶层是 Verilog,而我的其余设计是 VHDL 呢?它应该工作吗?

verilog vhdl modelsim intel-fpga cocotb

4
推荐指数
1
解决办法
1011
查看次数

如何在Quartus II中分配引脚

我们正在考虑将一些代码转移到CPLD或FPGA中,以使其更快.之前我曾与Xilinks及其工具套件合作过,但出于某种原因决定我们这次使用Altera,所以我试着习惯Quartus II.

特别是,我正在寻找一种方法来明确地将引脚分配给我正在使用的芯片.在Xilinx中,我编辑了网表文件,但我在Quartus中找不到这样的东西.这里一个程序(作业=>引脚规划),做这一点,但它有一个笨重的GUI,我会远远宁愿在文本编辑器编辑引脚,所以我的两个方面的问题是

答:如何找到存储引脚分配的文件?它没有列在项目导航器中的我的文件下,但是我在Pin Planner中分配的引脚在会话之间保持不变,所以它们必须存储在某个地方.

B:这是一个可怕的想法吗?

IDE是Quartus II 10.1开发套件是MAX II开发板语言是VHDL

编辑:现在,我遇到了我试图通过USB与Dev Kit接口的问题.我正在制作一个串行数据接收器并给它一个数据输入引脚.开发套件有一个USB接收器,所以我试图将din映射到USB连接器所在的任何引脚.根据我的文件(rm_maxII-develop_board-rev1.pdf),USB连接器在"Board Designation U13"上,但是当我进入Pin PLanner并尝试分配它时,没有PIN_U13.我怀疑这是pdf中的一个错误,而不是Pin Planner,但因为我之前从未使用过Altera产品,所以我很困惑.

vhdl intel-fpga quartus

3
推荐指数
1
解决办法
2万
查看次数

使用Altera Quartus II将*.vhdl编译到库中

我试图在VHDL中使用'浮点和定点包'作为我的滤波器设计的一部分.我使用Altera Quartus II作为开发环境.我从以下网站下载了文件包:http://www.vhdl.org/fphdl/,现可在http://web.archive.org/web/20160305202256/http://www.vhdl.org/fphdl上找到/

在他们的用户指南中,提到了以下内容:

'fixed_float_types_c.vhdl', 'fixed_pkg_c.vhdl' and 'float_pkg_c.vhdl'
should be compiled into a library called "ieee_proposed".
Run Code Online (Sandbox Code Playgroud)

但是,我并不确切知道如何使用Altera Quartus II工具将提到的*.vhdl文件编译到库中.

任何提示将不胜感激.

floating-point fixed-point vhdl intel-fpga quartus

3
推荐指数
1
解决办法
4000
查看次数

如何在 Altera Quartus 中生成 .rbf 文件?

什么是 .rbf 文件,我如何从 Windows 上的 Quartus 输出文件 .sof 生成它们?

fpga intel-fpga quartus

3
推荐指数
2
解决办法
1万
查看次数

VHDL - 增加按钮事件的寄存器值

我是VHDL的新手,我正试图弄清楚如何在Altera Cyclone II上做一些相当基本的事情.FPGA有四个按钮 - 其中两个需要编程以增加和减少所选寄存器(0-F),两者需要编程以增加和减少将在注册.这是我到目前为止:

entity raminfr is
    port (
        clk : in std_logic;
        we : in std_logic;
        a : in unsigned(3 downto 0);
        di : in unsigned(7 downto 0);
        do : out unsigned(7 downto 0)
    );
end raminfr;

architecture rtl of raminfr is
type ram_type is array (0 to 15) of unsigned(7 downto 0);
signal RAM : ram_type;
signal read_a : unsigned(3 downto 0);

begin

process (clk)
begin
    if rising_edge(clk) then
        if we = '1' then
            RAM(to_integer(a)) <= di; …
Run Code Online (Sandbox Code Playgroud)

fpga vhdl intel-fpga

2
推荐指数
1
解决办法
1万
查看次数

移动和添加std_logic_vector(有36但必须有18个元素)

当我尝试这个时,我正面临着来自quartus的一些奇怪的错误.

这是代码(所有未签名和其他奇怪的函数都是我试图说服Quartus编译它.)

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

...
variable data : std_logic_vector(17 downto 0) := "000000000000000011";

...

-- 00000000111111000 original
-- 00000000000011111 shifted
-- 00000000000011000 result (AND)

data := std_logic_vector(unsigned(data) & shift_right(unsigned(data), 4));


-- 00000000011111000 original
-- 00000000111110000 shifted
-- 00000000111111000 result (OR)

data := std_logic_vector(unsigned(data) or shift_left(unsigned(data), 1));
Run Code Online (Sandbox Code Playgroud)

我遗漏了很多代码,但破碎的部分保持不变.

我越来越

错误(10344):snake_driver.vhd上的VHDL表达式错误(66):表达式有36个元素,但必须有18个元素

怎么做对了?

fpga vhdl intel-fpga quartus

2
推荐指数
1
解决办法
445
查看次数

CMake add_custom_command 失败,并显示 bin/sh:1 : ... 未找到

我想要实现什么

我尝试建立一个工具链来编译适用于英特尔 FPGA 的 OpenCL 应用程序。因此,在构建基于 C++ 的主机应用程序时,我需要为 OpenCL 内核调用英特尔 OpenCL 离线编译器。

仅当编辑了 cl 源文件或生成的二进制文件丢失时才应执行此步骤。我的方法是添加一个自定义命令来调用 CL 编译器并创建一个取决于该命令生成的输出的自定义目标。离线 Open CL 编译器被调用aoc,并且由于系统上可能存在多个 SDK 版本,我使用存储在aocExecutable. 这是我的 CMakeLists.txt 的相关部分

set (CLKernelName "vector_add")
set (CLKernelSourceFile "${PROJECT_SOURCE_DIR}/${CLKernelName}.cl")
set (CLKernelBinary     "${PROJECT_BINARY_DIR}/${CLKernelName}.aocx")

add_executable (HostApplication main.cpp)

# ------ a lot of unneccessary details here ------ 

add_custom_command (OUTPUT  "${CLKernelBinary}"
                    COMMAND "${aocExecutable} -march=emulator ${CLKernelSourceFile} -o ${CLKernelBinary}"
                    DEPENDS "${CLKernelSourceFile}"
)


add_custom_target (CompileCLSources DEPENDS "${CLKernelBinary}")
add_dependencies (HostApplication CompileCLSources)
Run Code Online (Sandbox Code Playgroud)

什么不起作用 在 Linux 下的 CLion IDE 中运行此命令会导致以下错误:

/bin/sh: 1: /home/me/SDKsAndFrameworks/intelFPGA/18.1/hld/bin/aoc -march=emulator …
Run Code Online (Sandbox Code Playgroud)

intel cmake intel-fpga clion

2
推荐指数
1
解决办法
3105
查看次数

如何修复 libXft.so.2:在运行在 Pop_OS 20.04 上的 Quartus 20.1 中模拟硬件时无法打开共享对象文件

我最近转移到 Linux 并习惯了操作系统,我设法安装并运行了 Quartus 20.1 Lite,我正在用一个旧的工作项目对其进行测试。当我打开波形并运行模拟时,我得到

root/intelFPGA_lite/20.1/modelsim_ase/linuxaloem//vish:加载共享库时出错:libXft.so.2:无法打开共享目标文件:没有这样的文件或目录

我安装了 libXft.so.2,因为我可以在终端中使用 locate 找到它。有什么我想念的吗?该文件是否需要在上面列出的文件中,或者我是否需要以某种方式使用权限?

ubuntu intel-fpga quartus

2
推荐指数
1
解决办法
4180
查看次数

用于烟雾探测器和蜂鸣器的Verilog模块

我有Altera DE2-115 FPGA,我尝试自学Verilog.我决定制作一个烟雾探测器,每当它闻到烟雾时,蜂鸣器响起(烟雾探测器输出一个数字信号).

这是我的试用版:

module fire(flag,clock,reset,fire,fire_state,firealarm);
  input        clock, reset, flag, fire;
  output [2:0] fire_state;
  output       firealarm; 

  wire         fire;
  reg    [2:0] fire_state;

  assign firealarm = (fire_state == 1) ? (flag ? 0 : 1) : 0;

  always @ (posedge clock)
    fire_state<= fire ? 1: 0;

end module
Run Code Online (Sandbox Code Playgroud)

但它没有运行,我认为这段代码中有很多逻辑错误,请问有什么帮助吗?:)

verilog module fpga intel-fpga

1
推荐指数
1
解决办法
1330
查看次数

如何在真正的 FPGA 上实现 nand2tetris 处理器?

我学习了 nand2tetris 课程 ( https://www.nand2tetris.org/course ),主要目的是学习如何在真正的 FPGA 上构建软处理器。

虽然课程很简单,但现在我开始使用 FPGA 实现,我觉得有点迷茫。

我买了一个 Intel de10 nano FPGA(http://de10-nano.terasic.com/),并且从 Uni 获得了一些 Verilog 知识,我能够下载“Quartus Prime Lite”并使用简单的东西引导,比如 LED 闪烁,等等...

但是,在实现处理器时,有几件事我不清楚:

  • 如何实现数据存储器?我看到有一个 DDR3 模块连接到 FPGA 的 HPS。这是我需要直接使用的东西吗?我可以简单地在 HDL 中使用一个大的 16 位寄存器向量吗?
  • 如何从读取程序的位置实现 ROM?以及如何存储我组装的二进制文件然后引导提取-解码-执行循环?
  • 如何实现屏幕和键盘?确实,板上还有一个 HDMI 控制器:我必须自己实现所有逻辑吗?

这些是我目前正在努力解决的主要问题。你能指出我对一个完整的新手有用的任何资源吗?

谢谢,

fpga cpu-architecture intel-fpga nand2tetris

1
推荐指数
2
解决办法
303
查看次数