问题标签 [vhdl]
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.
embedded - 我应该从哪里开始使用 HDL?
我是一名自学成才的嵌入式开发人员。我主要使用用 C 和 ASM 编写的 AVR,但我也涉足过其他系统。我希望转向更复杂的设备,如 CPLD 和 FPGA,但我不知道从哪里开始。所以我的一个半问题是:
- 您更喜欢 VHDL 还是 Verilog,为什么?
- 对于没有 HDL 经验的人开始学习这样的野兽,有什么好方法?
concatenation - VHDL中的连接位
您如何连接 VHDL 中的位?我正在尝试使用以下代码:
案例 b0 & b1 & b2 & b3 是...
它抛出一个错误
谢谢
processor - 在 FPGA 板上实现的可配置处理器
对于一个大学的中期项目,我必须设计一个可配置的处理器,用 VHDL 编写代码,然后在 Digilent 的 Spartan 3E FPGA 板上综合它。我是一个初学者,所以你能告诉我一些关于可配置处理器的信息,一些与这个概念相关的想法吗?
verilog - 硬件描述语言(Verilog、VHDL 等)的最佳实践是什么?
实现 HDL 代码时应遵守哪些最佳实践?
与更常见的软件开发领域相比,有哪些共同点和不同点?
vhdl - 如何使 Quartus II 编译更快
我正在使用 Altera Quartus 2 做一个定制的 8 位处理器,在我的笔记本电脑上编译需要很长时间。我只使用模拟并将我的处理器制作成原理图(框图)和 VHDL。现在编译大约需要 10 分钟,这很痛苦,因为我更多地处于项目的调试阶段,我必须修复内部时序并进行大量非常小的更改以查看会发生什么。
我实际上并没有把它放在FPGA上,所以我需要“fitter”和“assembler”的编译阶段吗?
我可以更改一个 lpm_ram_dq 的内存文件的内容并在模拟中测试它而不重新编译吗?
总之,有人知道如何让它编译得更快吗?
microcontroller - 微控制器 + Verilog/VHDL 模拟器?
多年来,我参与了许多基于微控制器的项目。主要是Microchip的PIC。我使用过各种微控制器模拟器,虽然它们有时会很有帮助,但我经常发现自己很沮丧。在现实生活中,微控制器永远不会单独存在,固件的行为取决于环境。但是,我使用的模拟程序都没有为微控制器之外的任何东西提供良好的支持。
我的第一个想法是在 Verilog 中对整个电路板进行建模。但是,我宁愿不创建一个完整的 CPU 模型,而且我没有太多运气为我使用的芯片找到现有模型。无论如何,我真的不需要或不想在那个细节级别上模拟 proc,我想保留常规处理器 sim 提供的调试工具。
在我看来,理想的解决方案将是一个混合模拟器,它将传统处理器模拟器与 Verilog 模型接口。
这样的事情存在吗?
verilog - 可以在 VHDL 中完成动态可插拔模块吗?
在c(嵌入式)中,可以通过定义函数指针表和模块可以加载到的地址范围来实现插件。
这需要链接器指令来分配空间并定义函数表的位置。
HDL / VHDL或Verilog中是否有类似的机制。
我想我在想的是在 FPGA 中定义一个门块以用于我的扩展功能,定义它将连接到的端口,然后能够将逻辑加载到该块中以执行特定操作。
这必须在运行时进行,因为 FPGA 是交付插件的通信系统的一部分。
embedded - FPGA 开发项目的好网站/博客
我正在寻找有关 FPGA 开发的有趣在线资源 - 网站、博客等。我所追求的是有趣的(希望不会太贵)项目的例子,人们可以尝试并从中学习。
algorithm - 通过位旋转查找循环调度中的下一个
考虑以下问题。您有一个位串,它表示单热编码中的当前计划从站。例如,“00000100”(最左边的位为#7,最右边的位为#0)表示从#2 被调度。
现在,我想在循环调度方案中选择下一个调度的从站,但要有所改变。我有一个“请求掩码”,它说明了哪些奴隶实际上想要被安排。下一个奴隶只会从那些想要的人中挑选出来。
一些示例(假设循环调度是通过向左旋转完成的)。示例 1:
- 当前:“00000100”
- 掩码:“01100000”
- 下一个时间表:“00100000” - 在正常循环中,#3 和 #4 应该在 #2 之后,但他们没有请求,所以选择 #5。
示例 2:
- 当前:“01000000”
- 掩码:“00001010”
- 下一个:“00000010” - 因为调度是通过向左循环完成的,并且 #1 是该顺序中的第一个请求从站。
现在,我知道,这可以很容易地在一个循环中编码。但我实际上想通过一个不循环的操作来得到我的结果。动机:我想在 VHDL/Verilog 中的硬件(在 FPGA 中)实现这一点。
一个额外的好处是组成一个对任意数量的奴隶 N 通用的算法。
顺便说一句,这不是一个家庭作业问题。每当想要以某种方式调度从属设备时,这是一个重要的问题,并根据从属设备的请求来调节调度。我目前的解决方案有点“沉重”,我想知道我是否遗漏了一些明显的东西。
logic - 您将如何在 Verilog 或 VHDL 中实现这种数字逻辑?
我发布了另一个 stackoverflow 问题的答案,该问题需要在 Verilog 或 VHDL 中实现一些数字逻辑,以便可以将其编程到 FPGA 中。
您将如何用 Verilog、VHDL 或任何其他硬件描述语言实现以下逻辑图?
编号的框表示字段中的位。每个字段都有K位,电流和掩码的位将由计算机系统提供(使用锁存寄存器或等效物)。接下来的位将被读回同一计算机系统。
替代文字 http://img145.imageshack.us/img145/5125/bitshifterlogicdiagramkn7.jpg