问题标签 [intel-fpga]
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.
vhdl - IEEE Float input to BCD convertion
If i use one std_logic_vector (31 downto 0) as input of my entity. Exists any form of using this 32 bits (IEEE Format) to convert them to ASCII form ?
I have 3.14:
The number 3.14 is only a example. May be is any number in 32 bits used as input of my entity.
c - 循环的执行时间
我正在分析和测量,并从我的分析和测量中得到不同的结果。代码是两个循环,数据缓存大小为 512 字节,块大小为 32 字节:
我认为不要在内部循环中切换行应该更快,因为 C 按行存储矩阵,因此 SumByRowCol 应该更快,但在测量中它是另一种方式。我认为由于空间局部性原理的缓存可以使内部循环更快,因为值来自连续元素,它会更快吗?实际上测量时的执行时间实际上是测量 SumByColRow 更快的原因是什么?
更新
我再次运行程序,确保我实际上正在使用数据缓存,这次结果符合预期,所以上面的结果可能是巧合,下面的结果更像是:
c - 为什么编译C需要这么长时间?
当我编译一个 C 项目时,即使我使用的是快速的 Intel I7 CPU,它也可能需要大约 90 秒。是因为编译是一项低级任务,还是因为我的构建时间如此之长?我的环境是用于 Altera DE2 FPGA 的 Nios 2 IDE。
vhdl - 案例陈述中的案例陈述
是否可以合成使用:
case
语句中的case
语句case
语句中的if
语句if
语句中的case
语句
我可以毫无错误地编译它,但我仍然不确定它是否会弄乱硬件结构并使其变得复杂。
我这样做的原因:
我有几个状态(状态机),为了让它们遍历所有状态,我使用案例语句。但是我还需要在其中一些状态中设置一些条件(case
s 和if
s),其中一些是相当大的。
vhdl - 如何将组件放置在片上 RAM 上
我正在制作某种缓存,我在实体内部使用了一些表(大表),这些表由 std_logic_vectors 组成,我在 Quartus 2 网络版中执行此操作。
在模拟中一切正常,但是当我尝试合成它时,它只能使用锁存器、AND 和 OR 组件来完成。
有没有办法指定 Quartus 为这些表使用内存模块而不是这些组合元素?或者也许可以从 VHDL 代码本身完成一些事情。
RAM由16块内存组成,每块16字节。我正在尝试并行读取更多数据,因此我每个周期读取/写入 16 个字节的数据。插槽定义了正在执行读/写的块。
vhdl - 使用系统内存内容编辑器更新 .mif 文件未显示任何实例
我正在使用 DE1 和 VHDL。我想不断更新我的 mif 文件并将其显示在 VGA 上。我使用在线教程之一来使用系统内存内容编辑器。但是,一旦我完成了这个过程,我发现尽管在创建新的宏功能时分配了实例 ID,但没有创建任何实例。我在网上查过是否有人遇到过这样的问题,但他们的情况完全不同。他们想使用智能编译之类的东西。什么可能是错的?
现在,我的第二个问题是,如果我能够通过在系统内存编辑器中进行编辑,有没有办法可以编写代码进行自我更新,这样一旦值发生变化,它就会反映在屏幕上。
提前非常感谢!
floating-point - 使用 Altera Quartus II 将 *.vhdl 编译到库中
我正在尝试使用“浮点和定点包”作为我在 VHDL 中的滤波器设计的一部分。我使用 Altera Quartus II 作为开发环境。我从网站下载了文件包:http ://www.vhdl.org/fphdl/ ,现在可以在http://web.archive.org/web/20160305202256/http://www.vhdl.org/fphdl /
在他们的用户指南中,提到了以下内容:
但是,我不完全知道如何使用 Altera Quartus II 工具将提到的 *.vhdl 文件编译到库中。
任何提示将不胜感激。
assembly - 使用 quartus 2 的 MIPS 处理器的计数器程序(汇编机器代码)
我已经为计数器编写了一个机器级代码,一旦达到 15,该计数器应该递增到 15,然后递减到 10,然后在达到 10 时重置为 0。
我已经在 .mif 文件中编写了这个程序。我使用了 2 个 .mif 文件,一个用于指令存储器,另一个用于数据存储器。
我觉得我没有正确编写跳转指令,因为我无法弄清楚如何编写跳转指令。
下面这段代码是指令内存代码
[/代码]
下面下一个是数据存储器mif文件
[代码]
该程序未按预期工作。它以 10 递增,然后随机递减。
请帮忙。我想我没有正确编写跳转指令格式。
verilog - Verilog 寄存器输出
我正在使用 Altera DE2 开发板,我想读取开关上的输入。这存储在寄存器中。基于计数器,这些寄存器递增。然后应该将寄存器输出到被认为是 B2D 转换器的七段显示器。但我不能将寄存器传递给函数。
这就是我获取和存储输入的方式。它们来自我们用作小时和分钟的二进制表示的开关。基于计数器,我们增加一分钟或一小时的寄存器。
我们想在 SSD 上显示结果。
问题就在这里。这在verilog中是不允许的。我需要一种方法将我的寄存器发送到一个函数,该函数使用一些 B2D 转换显示从 0 到 9 的数字。
我会说我以前从来没有正式介绍过verilog,我已经尝试了所有我能想到的。我什至尝试制作一个新模块,在其中我将传递一、二、三、四并让模块增加它们,就像我展示的计数器的 Q2 一样。非常感谢任何建议或帮助!
这里要求的是十六进制模块:
先感谢您!