Questions tagged «fpga»

现场可编程门阵列(FPGA)是由客户在制造后配置的逻辑芯片,因此称为“现场可编程”。

3
FPGA,第一步
嗯,这是一个我在FPGA上的问题的延续在这里。 我最终选择了带有Spartan 6 FPGA 的Digilent Atlys,尽管我在微控制器方面做了很多工作,但我没有FPGA的任何经验。 我花了最后几天阅读FPGA的数据表,我认为从Verilog开始是一个不错的选择。我找不到任何代码示例,即使数据表也不友好。 我现在想做一些编程,仿真,综合方面的工作,这就是我要做的 从FPGA产生一个奇数频率,例如54Mhz(它运行在100Mhz时钟上),并将其路由到引脚之一。为此,我可能必须使用DCM或PLL,但不知道如何从此处开始? 从FPGA实现某种I2C读写。 我正在寻找的是参考,可能是在线参考,也可能是一本书,为我提供了FPGA内部可用的每个硬件组件的代码示例和说明,例如DCM,slice,clb等。 我想那应该让我开始进入FPGA领域。
11 fpga  xilinx  spartan 

4
FPGA:递增还是递减?
我正在学习使用FPGA(Papilio开发板,使用vhdl具有xilinx spartan3e)。 我需要将输入脉冲除以(硬编码)数字。 我可以看到3个选项-大致为伪代码(以10个计数为例): 初始化为0,在输入上升沿加1,则为10;如果相等,则重置为0并触发输出脉冲 初始化为10,在输入上升沿减小1,则为0;否则,为0。如果相等,则重置为10并触发输出脉冲 初始化为9,但请确保至少有1个前导“ 0”位,这是我的输出位。在输入上升沿减小1。在输出位的上升沿,复位。 占空比并不重要。 其中之一比其他更好吗?有没有我没有想到的更好的方法? 有没有一种“标准”的方法可以使编译器有最佳的优化机会?
11 fpga  vhdl  xilinx  papilio 

2
在两个IC之间共享一个振荡器
我在同一块板上有一个微控制器和一个FPGA。如果它们都将以相同的时钟速度运行,我是否可以仅使用一个振荡器为它们两个时钟?似乎有些事情我应该提防,但是如果我只留下简短的痕迹,我不会马上想到它的任何问题。有人做过吗?这样做会有哪些常见的陷阱?

2
什么是FPGA中的“半锁存器”?
在一篇有关防辐射FPGA的论文中,我遇到了这句话: “与Virtex器件有关的另一个问题是半锁存器。在这些器件中有时将半锁存器用于内部常数,因为这比使用逻辑更有效。” 我从未听说过称为“半锁存器”的FPGA设备原语。据我了解,这听起来像是一种在后端工具中“提供”常量“ 0”或“ 1”的隐藏机制。 ,以及如何使用它们保存逻辑? 编辑:本文是我发现这是针对太空应用的防辐射FPGA和耐辐射FPGA的比较
10 fpga  vhdl  xilinx  radiation 


5
VHDL:在设计中实现乘法器时使用“ *”运算符
当今的FPGA内置了DSP模块,最新的FPGA甚至还内置了符合IEEE-754的浮点单元。 在其中选择所需的参数之后,可以使用GUI创建DSP实体/模块,然后在设计中实例化它。 什么时候需要在实例化实际DSP模块的设计中进行此类微管理,何时仅在代码中输入“ *”运算符并让综合工具处理底层细节?哪个更好? 当涉及二进制乘法时,有许多不同类型的乘法算法。从现在开始,我们已经在硅片上内置了DSP模块,甚至还内置了浮点乘法器,这是否意味着所有这些算法都没有被有效地淘汰。
10 fpga  vhdl  dsp 

1
FPGA链接到外部存储器
我正在尝试在Nexys 4 FPGA开发板上使用蜂窝ram。我正在使用Xilinx Vivado,并且希望Microblaze软核处理器能够执行读写操作。到目前为止,我已经在模块设计中创建了处理器。 经过互联网的大量搜寻之后,我最终找到了一个我认为看起来很有前途的外部存储器控制器或EMC。我将如何连接Ram?我创建了HDL包装器,并尝试将EMC的端口连接到ram的引脚,但是,端口数量超出了我的需要。我找不到Nexys 4或Vivado EMC的任何示例。 我还发现Nexys 2具有板载内存控制器的示例。我看到RAM的部件号是相同的。这会有用吗,我将它与Mircoblaze结合使用吗?
10 fpga  memory  ram 

3
FPGA上的处理时序
我是fpgas的新手,我不确定我是否能理解一些计时上的微妙之处:如果所有同步过程都在同一沿触发,则意味着我的输入在一个上升沿被“捕获”,输出改变..相同的边缘?下一个上升边缘? 如果我有两个模块,其中一个的输出流入下一个的输入,则可能会出现这样的情况,即我的模块的输入(前一个模块的输出)在捕获时同时发生变化。 205ns处的标记显示了我在说什么,op和data_write是我的输入。在这个测试用例中,一切似乎都“正常”,但是在仿真中,尚不清楚何时捕获了什么。是在205ns或(205ns + 1个时钟周期)捕获到data_write =“ 0001 ...”吗?有没有办法在ISim中获得更详细的波形,以显示建立时间和保持时间? 谢谢。

1
MD5 VHDL管道
我正在尝试根据此链接实现3级MD5管道。特别是第31页的算法。还有另一个文档描述了数据转发。这是在FPGA(Terasic DE2-115)中完成的。该项目中没有原理图,只有VHDL代码。 library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity md5core is port ( CLOCK_50 : in std_logic; SW : in std_logic_vector(17 downto 17) ); end entity md5core; architecture md5core_rtl of md5core is type r_array is array(0 to 64) of std_logic_vector(7 downto 0); constant R : r_array := ( x"07", x"0c", …
10 fpga  vhdl 


4
使用时钟的两个边沿
我正在使用Verilog和Quartus II对Altera Cyclone IV进行编程。在我的设计中,我想同时使用时钟的两个边沿,以便可以用占空比为50%的奇数因子进行时钟分频。这是我的代码片段: always @(posedge low_jitter_clock_i or negedge low_jitter_clock_i or posedge reset_i) begin if(reset_i) begin fixed_clock <= 1'b0; divider_dummy <= 'b0; end else begin fixed_clock <= fixed_clock_next; divider_dummy <= divider_dummy_next; end end 现在,当我编译它时,Quartus II抛出以下错误: Verilog HDL始终在adc_clocking.v(83)处构造错误:事件控制无法同时测试变量“ low_jitter_clock_i”的正沿和负沿 如何在设计中同时使用给定时钟的上升沿和下降沿?

3
什么是时钟偏斜,为什么它为负?
我的HDL编译器(Quartus II)生成时序报告。在其中,节点具有“时钟偏斜”列。我发现的时钟偏斜的唯一定义是在TimeQuest文档中(请参阅第7-24页): 要为时钟到时钟的传输手动指定时钟不确定性或时滞,请使用set_clock_uncertainty命令。 因此,如果偏斜是“不确定性”,为什么我的某些时钟偏斜为负(例如-0.048)?时钟偏斜到底是什么?

2
如何使用扫描仪报废的CCD传感器?
我获得了没有电源适配器的旧扫描仪。我用兼容的适配器将它连接到某个东西,但是显然,这台特定的扫描仪与其电源紧密相连(即使它假定是常规的12V DC)。在线上有许多报道称,直到他们使用官方电源,该功能才起作用。我无法使扫描仪在Windows中完全正常工作,并且在Linux中仅显示噪音。 因此,我将其剥离。在内部,我发现显然是用于扫描功能的CCD传感器。该传感器上没有任何部件编号。我在Wikipedia上查找了有关CCD的一些信息,以及在线信息。但是,我从未找到任何有关如何使用它们的真实文档。我正在想象一个非常粗糙的相机项目。我如何使用Arduino或FPGA从这件事中获取图像? 图片:(点击放大) 另外,在上一张图片中,这4个SMD芯片是74ACT04十六进制逆变器
10 arduino  fpga  camera  ccd 

1
如何创建基于FPGA的流光溢彩克隆?
快速背景知识: 流光溢彩是一些飞利浦电视上的系统,该系统分析屏幕上的颜色信息,然后在显示器背面设置一些LED,以将屏幕的颜色投射到墙上。这是一个非常漂亮的效果。现在,该系统存在一些克隆,它们使用PC来处理视频并控制LED。我觉得这有点矫kill过正-使用整台机器跳舞一些LED ... 我想修改兔子的NeTV以处理未加密的HDMI视频输入并驱动某些LED。我知道NeTV是为其他目的而设计的,但我认为可以对其进行修改以实现我的目标。我不在乎底层的Linux子系统,I2C欺骗,视频覆盖等。目前,我不关心使用HDCP加密流。 NeTV原理图 NeTV源代码 FPGA框图 这是Bunnie演示幻灯片之一的框图。幻灯片 的其余部分在这里。 这张幻灯片似乎暗示着实际上对视频像素进行了解码(不一定是解密)。 最后...我的一些想法和问题: 可以在我想要的硬件上完成吗?如果是,请继续!如果“否”,请告诉我我还需要什么! 我可以在没有任何外部存储器的情况下处理视频信息吗?据我所知,FPGA没有可直接访问的存储器。这可能取决于我用来处理视频数据的算法-要使用尽可能少的FPGA Block RAM,我想我想对进入的像素使用某种“迭代求和”,而不是存储整个像素图像数据帧,然后平均颜色。关于实现此算法的任何提示?如何开始使用这是我最大的障碍。 我已经研究了源代码,以了解应在何处“访问”视频数据。这看起来像是合适的位置: 我知道,此图像很长-这是我在清楚阅读时可以做的最好的事情。怪罪的Xilinx的工具! 这似乎吸收了TMDS数据并为每种颜色输出8位。 我应该为LED驱动器配备某种状态机-每个时钟周期,它会从我创建的用于处理视频数据的任何模块中获取像素信息。 抱歉,如果这是罗word的或冗长的-我正在尝试透彻...我只需要一些帮助就可以启动了。这是我对FPGA项目的首次尝试-有些人可能说这对初学者来说太难了,但我说...必须从某处开始:)感谢您的阅读。
10 fpga  hdmi 

3
当FPGA上电且未配置时会发生什么?
我试图对如果长时间不编程对FPGA会发生的情况有一个大致的了解。 假设您有一个FPGA,并且长时间未编程(在加电后数分钟至数小时),即FPGA上没有比特流,这对器件不利吗?是否建议始终在加电的FPGA上保留一些比特流?对此有什么普遍看法? 在不同的设备或制造商(Xilinx与Altera与其他产品)上,结果是否有所不同? 附加信息: 我有一个使用Xilinx Virtex-6 FPGA的定制SoC板。我也有一个Xilinx ML605,仅供参考。 自定义板:我打开板电源。我注意到使用XMD(Xilinx微处理器调试器)对其进行编程的时间很短。如果我失去20-30秒的窗口,则必须先关闭电源然后再打开板子再尝试。ML605不会发生这种情况。 当我尝试通过XMD对定制板进行编程时,我得到类似以下内容的信息: Error: Device Reset by JPROGRAM command, failed. INIT_COMPLETE did not go high. 让我知道你的想法。

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.