Questions tagged «vhdl»

VHDL(VHSIC(超高速集成电路)硬件描述语言)是一种硬件描述语言,用于电子设计自动化中,用于描述和设计数字系统,例如现场可编程门阵列和集成电路。

8
学习VHDL的项目
我是一名EE学生,并且可以用比我的手指更多的语言编写[至少简单]的程序。我刚刚开始学习VHDL,我想知道真正了解该语言和相关工具的项目是什么?我遇到一个麻烦,因为对我来说这是一种完全不同的编程风格。 我做了一些简单的事情,例如加法器,但是我正在寻找一个更长期(例如一个月左右)的项目。 如果需要,我有Xilinx Webpack和Digilent Spartan3开发板。
16 fpga  xilinx  vhdl 

7
测试和验证之间有什么区别?
我看过的每本教科书都充分说明了测试和验证是两个不同的概念。然而,它们都没有一个清晰的(最后对我来说不够清晰)的区别。 为了提供一些背景信息,我对使用硬件设计语言(HDL)验证数字硬件设计感兴趣。 我已经看到了一些解释,这些解释诉诸于“物理”或“有形”差异:如果是关于制造的设备,那么它就是测试。这是整个故事吗?如果是这样,为什么在验证中经常出现“测试”一词(尤其是在功能验证中,我们谈论的是测试用例,测试平台,DUT(被测设备),定向测试,随机测试等。)

3
VHDL:架构命名和解释
注意:我使用的是Xilinx的ISE,并且具有可与之配合工作的FPGA板(带有开关和指示灯等),到目前为止,我已经整理了一些简单的项目。同时,我正在阅读一些教程,以为自己的工作打下基础。 我已经看过参考资料中提到的各种实体及其体系结构,但是命名常常令人困惑。通常,而不是“建筑RTL的。”或“建筑结构的...”我会看到“架构富的......”,甚至“建筑拱形的......” 我意识到(迟来地)架构名称与实体命名一样任意,尽管有样式指南建议可以使用更一致的命名约定来避免此问题。这使我想到了几个问题: 看一个实体,如何在没有架构名称提示的情况下确定正在使用的实际架构模型?RTL,行为,结构……它们看起来与我的学习者的眼睛非常相似(假设我所看到的示例实际上是正确命名的)。一个简单但显而易见的示例将在这里有所帮助(或指向一个示例)。 如果为单个实体指定多个架构(据我所知是可能的),您是否只是在同一文件中为架构指定了不同的名称或...? 架构名称是否仅限于给定的实体(也就是说,通过在多个实体上使用相同的架构名称,“命名空间”是否存在问题)? 编辑:还有一个: 看起来RTL和行为之间是有区别的,但是如上所述,我在所看到的示例中并没有真正看到它(通常我只看到一种定义的体系结构)。一种架构比其他架构更常见吗? 我一直在寻找的是一个全面而又简单的多组件项目(小组件),使用最佳实践(正确的命名,并非全部都塞入一个文件等)编写,但是我还没有找到。我发现精心制作的示例项目对于阐明基本原理和最佳实践非常有用。如果您知道这样的示例项目,我也将感谢您提供指向该示例项目的指针。(如果没有别的,也许一旦我弄清楚了,我就可以分享自己的一个...)

4
BJT晶体管如何在饱和状态下工作?
这是我对NPN BJT(双极结型晶体管)的了解: 基极-发射极电流在集电极-发射极处被放大了HFE倍,因此 Ice = Ibe * HFE Vbe是基极-发射极之间的电压,并且与任何二极管一样,通常约为0.65V。不过,我不记得了Vec。 如果Vbe低于最小阈值,则晶体管断开,并且没有电流通过其任何触点。(好的,也许有几微安的泄漏电流,但这无关紧要) 但是我仍然有一些问题: 晶体管饱和时如何工作? 除了Vbe低于阈值以外,是否可以在某些条件下使晶体管处于打开状态? 此外,请随时指出(在答案中)我在这个问题上犯的任何错误。 相关问题: 我不在乎晶体管如何工作,如何使它工作?

5
是什么让我选择Verilog或VHDL而不是CPLD或FPGA上的原理图设计?
我绝对没有可编程逻辑方面的背景知识,在我的项目中主要使用微控制器,但是最近我需要处理视频,并且微控制器的速度太慢了,因此我开始使用CPLD。 仅使用原理图设计,我就能用CPLD取得良好的结果,但是当搜索有关CPLD的信息时,我遇到了许多使用VHDL和Verilog的示例。我很好奇我可能想用其中一种语言定义设备。他们无法做原理图设计做什么?它们主要用于功能吗? 到目前为止,我仅使用CPLD,使用这些语言,FPGA设计是否比CPLD受益更多?


4
FPGA固件设计:太大太大了?
我有一个特别大的信号处理转换,需要从matlab移植到VHDL。它绝对需要某种资源共享。经过一点计算,我得出以下结论: 512英尺64点 41210乘法加法运算 考虑到最大的Virtex 6 FPGA具有约2000个DSP48E块,我知道我可以共享资源以便多次重复使用资源。执行时间并不是真正的问题,就FPGA而言,处理时间可能会花费相对较长的时间。 查看资源使用情况,使用radix-2 lite架构可获得4dsp块/ FFT操作= 2048个DSP块,总计约43k。最大的Virtex FPGA具有2k块,或20个操作/复用器。 显然,将如此大的多路复用器包括到织物中也将占用很多片。在哪里可以找到该限制的上限?我无法无限地共享FPGA资源。41210乘数是否太大?我如何计算太大的东西? 我还查看了其他资源(切片,布拉姆斯等)。Radix-2 Lite还提供4 x 18k brams / fft = 2048 brams,最大的Xilinx FPGA包含2128 Brams。非常临界。我担心我的设计太大了。 更新: 有关设计本身的更多信息。我无法详细介绍,但是我可以提供以下内容: Initial conditions -> 512 ffts -> 40k multipliers ---------|----> output data to host ^------re-calculate initial conditions----| 输出数据速率规范:“比Matlab模拟更快” 明智的计算,这就是我的位置: FFT阶段:简单。我可以实现1/2/4/8 FFT,将结果存储在SDRAM中,然后再访问。相对较小,即使花费很长时间也没关系。使用radix-2 lite,我可以获得2个DSP48E和2个18k BRAMS / FFT。流提供6个DSP48E …
13 fpga  vhdl  xilinx 

7
廉价的FPGA开发板
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为电气工程堆栈交换的主题。 4年前关闭。 我想从FPGA开始,但是以前从未使用过。 我想要一个便宜的工具包,但我不知道从哪里开始。我可以找到便宜的板子,但后来我找不到有关程序员或编译器的信息,所以希望您能提供帮助。 我想要一些真正便宜的东西(最高$ 30- $ 40),优先使用一些非专有的编程和调试方式(也许是JTAG?),它能够使用WinCUPL或VHDL之类的语言进行编程。 我发现Diligent Cmod板在另一个线程上具有Xilinx CPLD,但找不到如何编程/调试(涉及软件和额外的硬件)。
12 fpga  vhdl  jtag 

6
关于FPGA的书建议[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为电气工程堆栈交换的主题。 2年前关闭。 您会推荐什么样的书名来开始使用FPGA和VHDL? 编辑 我注意到一些推荐的书籍可以追溯到1996年。我可以想象所提到的设备将严重过时,但是从那以后VHDL是否也有了很大的发展?
12 fpga  books  vhdl 

1
如何在ModelSIM中调试红色信号?
我必须设计一个状态机,仅将NAND门用于组合部分,将D触发器用于顺序逻辑。一切都应以1GHz / 53的时钟频率运行。 现在,在您以“我们不会为您做功课”殴打我之前,让我告诉您,我花了几天的工作就报废了所有东西,然后又开始更严格地做所有事情。我想自己做,但是在项目的最简单部分中,我不断收到随机的,未定义的信号,这令人沮丧。 好的,首先,我有下图所示的状态机和真值表: 接下来是kmap: 由于对于D个触发器D = Q +,组合逻辑的布线(一旦将其构建到简化的块中)应该不会太难。 但是我的第一个问题出现在Q3 +的测试台上。为了简化信息,我在这里放一个我为Q3 +放在一起的快速图表: 在后面的文章中,您将看到在VHDL中,我实际上将输入in1Q3plus命名为in11Q3plus(11个输入),因为这不是最后一个块(最终的组合逻辑块由四个Q3 +,Q2 +,Q1 +,Q0 +块组成发出信号)。 因此,我必须使用NAND门来制作所有东西,这意味着我必须采用结构化方法。每个门基本上都基于NAND门,然后会增加复杂性(但是从AND门结构上只能写入AND,OR和NOT门)。然后,我有一个具有3个输入的“或”门,一个具有3个输入的“与”门和具有5个输入的“或”门(类似于逻辑图示例),每一个都基于先前的2个输入“与与”门。 直到Q3plus的每个测试台(上图)都可以工作。我的测试过程是为每个输入生成信号,以便可以在“模拟”窗口中方便地观看信号。例如,对于3输入与门,我具有以下信号: process begin a1 <= '0' ; wait for 4ns; a1 <= '1' ; wait for 4ns; end process; process begin b1 <= '0' ; wait for 8ns; b1 <= '1' …

2
如何在VHDL中指定“无关”信号?
在逻辑设计课程中,我们都了解到可以最小化逻辑功能,例如通过使用卡诺图或Quine-McCluskey算法。我们还了解到“ Do n't Care”值增加了最小化的可能性。 例如拿一个注册文件。该write_address和write_data信号时,并不真正重要write_enable信号'0'。因此,应为它们分配“无关”值,以允许在驱动这些信号的逻辑中进行更多优化(即不在寄存器文件本身中)。 为了使综合工具有更多空间进行可能的优化,在VHDL中指定此类“无关”值的正确方法是什么? 到目前为止,我发现以下可能合适的方法。但是我不确定每个方法的优缺点是什么: 根本不分配信号。这似乎可以工作。但是我发现,当您想定义某种“不做任何操作的常量”时,它是行不通的record,因为需要完全指定记录常量(至少Modelsim告诉我了)。 所述std_logic_1164包定义的值'-' -- Don't care对std_ulogic。看起来这是一个明确的“无关”的语义正确选择,但我从未见过在任何地方使用它(除非在不相关的VHDL-2008 case?构造中)。 Modelsim使用该值'X'显示未定义的信号。但是我不确定综合工具是否将显式'X'分配理解为“无关紧要”。 这是一个过于简化的代码段,用于澄清,其中我已使用初始化了无关信号'-'。 正如你所看到的,信号control.reg_write_address可以有3个不同的值:"----",instruction(11 downto 8);和instruction(3 downto 0);。现在,如果'-'将其解释为“无关紧要”,我希望可以将其合成为2输入多路复用器。如果我使用(others => '0')而不是初始化信号'-',则该工具将不得不生成3输入多路复用器。 library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; package mytypes is type control_signals_t is record write_enable : std_logic; write_address : std_ulogic_vector(3 downto 0); read_address : std_ulogic_vector(3 downto 0); end record; …

3
如何确定使用最多资源和面积的FPGA设计区域?
我正在做一个大型FPGA设计,并且我非常接近当前使用的FPGA的资源限制,即CSG225封装中的Xilinx LX16。 该设计几乎也已经完成,但是目前它已不再适合FPGA。我可以关闭零件使其适合,但是我需要减少资源使用量才能完成设计并使其符合时序和尺寸要求。 我想知道我们的报告中是否有任何工具可以帮助我确定设计中哪些部分消耗的资源最多。我的设计未分区,而是划分为大约十二个或更多的VHDL模块。 Xilinx时序报告非常棒,但是现在我需要知道在节省空间方面我能得到最好的回报。 我也很难告诉我我将要用尽哪种类型的资源,或对那些资源有什么影响。 另一个烦人的是,随着设计的扩大,用于满足时序要求的组件开始出现故障,因为它们的放置不再理想。 当前,我使用“放置后和路线静态”时序报告,并使用SmartXplorer。我正在使用设计策略来优化时序。 在关闭我的设计的一部分以使其适合之后,下面是一些结果: 切片寄存器利用率:42%切片LUT利用率:96%完全使用的LUT-FF对的数量:38%这是否意味着我对寄存器比较轻,但对门的使用却很繁重? 是否有工具可帮助开发人员针对区域进行优化,或者至少使他们对自己的代码有更深入的了解? 更新: 查看了模块级别的利用率后,我发现我在整个地方都有小的胶水异步fifo,大约占所有LUT的30%。我将它们用作高速总线的跨时钟域胶水。我应该能够消除这些问题,因为时钟紧密相关。(120 MHz输入,通过DCM产生100 MHz和200 MHz)

2
VHDL中If-else和Case语句之间的区别
我想了解如何在RTL中综合VHDL代码中的不同构造。 谁能告诉我VHDL中流程的If-Else构造和 Case语句构造之间的区别,即如何通过综合工具将代码推断到RTL电路中? 一定要考虑多个嵌套if-else的情况,并在一个进程内将case语句与if-else构造混合在一起。 还有什么时候使用哪种构造? PS:我已经看到一个相关的问题“ vhdl中正在处理多个if语句”,但是无论如何都无法回答我的问题。
11 vhdl  code-design  rtl 

4
什么时候使用VECTOR表示形式和INTEGER形式更整洁?
在有关以下问题的答案的评论线程中:VHDL实体中的输出错误: “使用整数时,您无法控制或访问FPGA中的内部逻辑表示,而SLV则使您可以完成一些技巧,例如有效利用进位链” 因此,在什么情况下您发现使用位表示向量比使用整数 s来访问内部表示更简洁?您测量了哪些优势(在芯片面积,时钟频率,延迟或其他方面)?
11 fpga  vhdl 

12
您现在使用VHDL吗?
我是一名电气工程专业的学生,​​正在研究称为VHDL的硬件描述语言。我在Google上搜索它以寻找IDE(我在Mac上),但是这种语言似乎已经死了。 所以这是我的问题:在我作为电气工程师的未来工作中,VHDL对我有用吗?你在用吗? 更新:谢谢大家的回答,我的第一印象显然是错误的。
11 vhdl 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.