fpga

[RAM] FPGA的学习笔记——RAM

牧云@^-^@ 提交于 2019-12-03 10:59:22
1、RAM——随机存取存储器, 分为SRAM和DRAM。 SRAM:存和取得速度快,操作简单。然而,成本高,很难做到很大。FPGA的片内存储器,就是一种SRAM,用来存放程序,以及程序执行过程中,产生的中间数据、运算结果等; DRAM:与SRAM特点相反,但速度慢只是相对SRAM慢,其实也算是很快了,比如DDR3,DDR4; 2、Altern的RAM ip核,在生成时,可以选择单还是双口RAM,如果是单端口RAM,那么同一时间只能对同一个地址进行读or写;而如果是双口RAM,那么可以在同一时间读A地址, 写B地址; 3、 来源: https://www.cnblogs.com/zf007/p/11792267.html

Is conversion from OpenCV code to FPGA code is easier than Matlab code or not? [closed]

那年仲夏 提交于 2019-12-03 09:49:55
问题 Closed. This question is off-topic. It is not currently accepting answers. Want to improve this question? Update the question so it's on-topic for Stack Overflow. Closed last year . I want to do project on image processing. i want to know if i want to implement this project on FPGA, which tool should I choose at 1st stage Matlab or OPEN CV? and is it possible to convert code from Open CV to FPGA directly like code generator can be used from Matlab to FPGA directly?? 回答1: Firstly - why do you

What are some practical applications of an FPGA?

Deadly 提交于 2019-12-03 07:08:12
问题 I'm super excited about my program powering a little seven-segment display, but when I show it off to people not in the field, they always say "well what can you do with it?" I'm never able to give them a concise answer. Can anyone help me out? 回答1: First: They don't need to have volatile memory. Indeed the big players (Xilinx, Altera) usually have their configuration on-chip in SRAM, so you need additional EEPROM/Flash/WhatEver(TM) to store it outside. But there are others, e.g. Actel is one

Linux driver DMA transfer to a PCIe card with PC as master

馋奶兔 提交于 2019-12-03 07:07:36
I am working on a DMA routine to transfer data from PC to a FPGA on a PCIe card. I read DMA-API.txt and LDD3 ch. 15 for details. However, I could not figure out how to do a DMA transfer from PC to a consistent block of iomem on the PCIe card. The dad sample for PCI in LDD3 maps a buffer and then tells the card to do the DMA transfer, but I need the PC to do this. What I already found out: Request bus master pci_set_master(pdev); Set the DMA mask if (dma_set_mask(&(pdev->dev), DMA_BIT_MASK(32))) { dev_err(&pdev->dev,"No suitable DMA available.\n"); goto cleanup; } Request a DMA channel if

Can you program FPGAs in C-like languages? [closed]

偶尔善良 提交于 2019-12-03 06:40:33
问题 Closed. This question is off-topic. It is not currently accepting answers. Want to improve this question? Update the question so it's on-topic for Stack Overflow. Closed last year . At university I programmed a FPGA in a C-like language. However, I also know that one usually programs FPGAs in Verilog or VHDL. Is this a designer choice? If so, what are the performance drawbacks? I would ideally like to program the FPGA in a C-like language, rather than VHDL. I was thinking of getting an Xilinx

What FPGAs (Field-Programmable Gate Arrays) can one buy to experiment with at home? [closed]

爷,独闯天下 提交于 2019-12-03 02:22:34
问题 Closed. This question is off-topic. It is not currently accepting answers. Want to improve this question? Update the question so it's on-topic for Stack Overflow. Closed 5 years ago . What is an FPGA, and where can I buy one? How much do they cost? What sort of system do you need to experiment with them? How to program them? Can you "load" if that's the right term an FPGA using an ordinary Mac? Are they extremely expensive or can I buy one today? I have become interested in FPGAs after

FPGA整理资料

匿名 (未验证) 提交于 2019-12-03 00:40:02
1.寄存器与锁存器 锁存器:电平触发的存储单元,在有效电平时间里可以多次改变数据。 去毛刺的方法 :格雷码计数器(*https://blog.csdn.net/qp314/article/details/5147695*)代替二进制码计数器,或者用D触发器同步。) 时序逻辑结构 latch:锁存器,是由电平触发,结构图如下: 组合逻辑结构 2.FPGA实现的verilog编码流程 :文本编辑→功能仿真→逻辑综合→布局布线→时序仿真 3 .对于同步接口的设计 ,同步输入信号需要约束――input delay――――,同步输出信号需要约束――output delay――分别关联到同步时钟上 4. 逻辑设计中的同步电路有源同步,系统同步,自同步 三种,传统并行接口采用的是源同步或者系统同步的方法来实现的,serdes接口―SerDes(Serializer-Deserializer)是串行器和解串器的简称http://blog.sina.com.cn/s/blog_aec06aac01013m5g.html―均衡和数据时钟相位检测――GMII接口(是8bit并行同步收发接口,采用 8λ 接口数据,工作时钟125MHz,因此传输速率可达 1000Mbps 。同时 兼容MII 所规定的10/100 Mbps工作方式。) 5 .关于FPGA的仿真: 主要有功能仿真,门级仿真和时序仿真

[转]Bram和Dram的区别

匿名 (未验证) 提交于 2019-12-03 00:38:01
选择distributed memory generator和block memorygenerator标准: Dram和bram区别: 补充: 在Xilinx Asynchronous FIFO CORE的使用时,有两种RAM可供选择,Block memory和Distributed memory。 差别在于,前者是使用FPGA中的整块双口RAM资源,而后者则是拼凑起FPGA中的查找表形成。 块RAM是比较大块的RAM,即使用了它的一小部分,那么整个Block RAM就不能再用了。所以,当您要用的RAM是小的,时序要求不高的要用Distributed RAM,节省资源。 FPGA中的资源位置是固定的,例如BRAM就是一列一列分布的,这就可能造成用户逻辑和BRAM之间的route延时比较长。举个最简单的例子,在大规模FPGA中,如果用光所有的BRAM,性能一般会下降,甚至出现route不通的情况,就是这个原因。 原文:https://www.cnblogs.com/tubujia/p/9241714.html

FPGA实践教程:在Xilinx zynq上运行LeNet(三)系统搭建与烧录

匿名 (未验证) 提交于 2019-12-03 00:37:01
本文档系列是我在实践将简单的神经网络LeNet-5实现到Xilinx 的zynq的FPGA上操作方法。 背景: 我们用vivado HLS对相关软件生成了相应的IP core,现在我们需要将IPcore集成为系统模式,集成为系统才能烧录到FPGA上。 目的: 用vivado软件搭建相应的系统,生成比特流并烧录入FPGA 1.用vivado打开工程 1.1解压文件夹(是否每次都要打开新的工程,才能保证烧写成功?) 解压后的工程包含的processing system正是我们的FPGA对应的,所以必须用此文件夹 1.2打开vivado,打开解压后的文件夹的位置,并打开工程 由于版本问题会缺失一些文件,此问题不大,会出现一些提示信息,这些提示信息都是正常的,我们把相应的IP更新,更新为当前版本的IP。 是否out-of-context,我们选择per IP 2.搭建系统 2.1添加IP vivado可能在添加IP时候闪退,所以我们要保持良好的习惯,一是时时crtl+s,二是加完IP再改管脚。 2.1.1导入IP库,我们创建的IPcore就在这个库里面(注意点进去solution2这个文件夹添加,下面这种可能添加不进去) 2.1.2在block design中加入IP 需要加入三个,一个是axi direct memory access,一个是我们的IPcore cnn 2.1.3

FPGA数字信号处理(九)Vivado FFT IP核实现

匿名 (未验证) 提交于 2019-12-03 00:27:02
该篇是FPGA数字信号处理的第9篇,选题为DSP系统中极其常用的FFT运算。上篇介绍了Quartus环境下FFT IP核的使用“FPGA数字信号处理(八)Quartus FFT IP核实现 https://blog.csdn.net/fpgadesigner/article/details/80690345 ”。本文将介绍在Vivado开发环境下使用Xilinx提供的FFT IP核进行FFT运算的设计。 Xilinx的FFT IP核属于收费IP,但是不需要像 Quartus那样通过修改license文件来破解。如果是个人学习,现在网络上流传的license破解文件在破解Vivado的同时也破解了绝大多数可以破解的IP核。只要在IP Catalog界面中Fast Fourier Transform的License状态为“Included”即可正常使用。 与Quartus中FFT IP核相比,Vivado的FFT IP核配置起来更复杂,功能也更强大。 打开主界面,左边是IP核的接口图(IP Symbol)、实现消耗的资源等信息(Implementation Details)和计算FFT所需的时间(Latency),右边是Configuration、Implementation和Detailed Implementation三个标签卡。 Vivado的FFT IP核支持多通道输入