FPGA学习
果乐果香
我走的很慢,但我从不后退
展开
-
zedboard教程
一,zedboard连线与通过vivado实现hallowordhttps://blog.csdn.net/feibiliuyun/article/details/69367151ZedBoard的接线,接线时需要注意两点: 1、两条micro-USB 线: ZedBoard的J17和J14都要与PC连接; 图片来源:http://svenand.blogdrive.com/archive/172.html#.WOUAcKIlHDc 接线参考:http://原创 2020-12-09 10:16:28 · 1559 阅读 · 0 评论 -
ARM、MCU、DSP、FPGA、SOC你知道是什么吗?
ARMARM处理器是Acorn计算机有限公司面向低预算市场设计的第一款RISC微处理器。更早称作Acorn RISC Machine。ARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。ARM历史发展:1978年12月5日,物理学家赫尔曼·豪泽(Hermann Hauser)和工程师Chris Curry,在英国剑...转载 2019-02-26 09:54:42 · 1127 阅读 · 0 评论 -
基于FPGA的深度学习推理获得突破
神经网络和深度学习入门神经网络松散地模拟人脑中的神经网,是深度学习(DL)的基础,这是一个复杂的数学系统,可以自己学习执行任务。通过查看许多示例或关联,NN可以比传统的识别程序更快地学习连接和关系。训练就是基于对数百万同一类型的样本的学习来配置NN以执行特定任务的过程。例如,一个NN可能聆听许多声音样本并使用DL来学习“识别”特定单词的声音。然后,该NN就可以筛选新的声音样本清单,并使用称...转载 2019-02-26 09:53:57 · 1487 阅读 · 0 评论 -
#基于FPGA的摄像头VGA模块#
摄像头显示图像整个模块包含了摄像头对图像的捕捉 捕捉数据的传输 捕捉数据显示在LCD屏幕上。初始时,IIC协议对摄像头初始化。由状态机完成地址和数据的配置,从ROM里读出数据(ROM事先存着VGA数据)这些数据经过iic读写时序整合模块发送到CMOS摄像头里。CMOS初始化后开始输出数据到image_capture模块,主要信号:image_pclk、href(行同步信号,高电平有效)D[7:...转载 2019-02-26 09:52:48 · 1269 阅读 · 0 评论 -
PYNQ板卡
看了PYNQ的相关资料,对PYNQ板卡有了一些自己的看法和观点,1、先说核心芯片。 PYNQ开发板的核心芯片是赛灵思公司的ZYNQ7020,该芯片由2个部分构成——PS和PL, 上图为ZYNQ的系统结构图,通俗的理解是PS是嵌入式开发,PL是FPGA逻辑开发,两者可以独立操作,好处嘛,那就是在单芯片的基础上,集成了ARM和FPGA的优点,而且,由于单芯片的使用,对PCB布线...转载 2019-02-27 20:02:37 · 6811 阅读 · 3 评论 -
PYNQ 用Python运行FPGA
http://www.openhw.org/module/forum/forum.phpPYNQ介绍PYNQ全称为Python Productivity for Zynq,即在原有Zynq架构的基础上,添加了对python的支持。Zynq是赛灵思公司推出的行业第一个可扩展处理平台系列,在芯片中集成了ARM处理器和FPGA可编程逻辑器件,旨在为视频监视、汽车驾驶员辅助以及工厂自动化等高端嵌入式...转载 2019-02-27 19:32:44 · 4213 阅读 · 0 评论 -
hosts文件在哪里,怎样配置修改hosts文件
首先要知道hosts文件在哪里,在windows中,这里以以Win7系统为例,XP、Win8和Win10系统都一样的位置,默认系统安装在C盘的情况下! Hosts文件路径:C:\WINDOWS\system32\drivers\etc 直接可以通过地址栏来打开所在文件夹,也可以通运行命令来打开hosts所在的文件夹! hosts是没有扩展名的...转载 2019-02-22 15:21:37 · 32899 阅读 · 1 评论 -
pynq-bnn
1. BNN-PYNQGitHub链接:https://github.com/Xilinx/BNN-PYNQ在CNN基础上优化而来的BNN框架使用二值化操作代替浮点型计算,更加适合FPGA器件,网络在性能显著提升的同时,功耗也大幅度降低至2~2.5W。下图中,可明显地看到在硬件(PYNQ上的FPGA架构)上运行BNN的速度比在软件(PYNQ的ARM核)上运行要快得多。BNN-PYN...转载 2019-02-22 14:01:42 · 2479 阅读 · 3 评论 -
PYNQ:使用python进行FPGA开发
前言PYNQ 就是python+ZYNQ的意思,简单来说就是使用python在Xilinx 的ZYNQ平台上进行开发。是Xilinx开发的一个新的开源框架,使嵌入式编程人员能够在无需设计可编程逻辑电路的情况下即可充分发挥 Xilinx Zynq All Programmable SoC(APSoC)的功能。PYNQ-Z2开发板是最近刚推出的低成本的支持PYQN开发环境的demo板。淘宝上单...转载 2019-02-22 12:33:57 · 13880 阅读 · 2 评论 -
玩转PYNQ系列:一、板卡简介与资源整理
本帖最后由 枫雪天 于 2018-12-31 10:53 编辑 非常幸运能够获得这次的试用机会,对Xilinx的Zynq系列FPGA心仪已久,正准备趁年关学习一下,与电子发烧友本次发布的PYNQ-Z2试用活动不期而遇,亦是缘分。 接下来进入正题。一、PYNQ简介 PYNQ 是一个开源框架,目标是使嵌入式编程人员能够在无需设计可编程逻辑电路的情况下...转载 2019-02-22 12:27:47 · 6609 阅读 · 0 评论 -
遗传算法介绍
遗传算法简单介绍与MATLAB实现(一)遗传算法简单介绍与MATLAB实现(二)遗传算法简单介绍与MATLAB实现(三)遗传算法之Python实现原创 2019-01-30 17:12:53 · 665 阅读 · 0 评论 -
FPGA工程师最核心的就是全栈能力
这里的全栈,指的是系统级的软硬件全栈能力。它既包括了在系统层面的架构设计、芯片开发的前后端流程,也包括了软件设计的全栈流程,甚至还有后期的项目维护、技术支持、与客户的沟通等等软技能。它可以看成是综合多种技能的技能树。 老石随手写了一下FPGA工程师的全栈技能树,见下图,尽管很不完整,但仍可供大家参考。之前很多人提到的,诸如调试与分析的能力,其实是这个全栈技能树里的一片树叶,或一个分支。...转载 2019-02-26 09:57:31 · 3238 阅读 · 0 评论 -
推开Zynq-7000的大门
1 背景知识在2010年4月硅谷举行的嵌入式系统大会上,赛灵思发布了可扩展处理平台的架构详情,这款基于无处不在的ARM处理器的SoC可满足复杂嵌入式系统的高性能、低功耗和多核处理能力要求。赛灵思可扩展处理平台芯片硬件的核心本质就是将通用基础双ARM Cortex-A9 MP Core处理器系统作为“主系统”,结合低功耗28nm工艺技术,以实现高度的灵活性、强大的配置功能和高性能。由于该新型器件...转载 2019-02-26 10:01:45 · 460 阅读 · 0 评论 -
基于FPGA的实时视频图像采集处理系统
随着社会的不断发展,视频图像采集处理技术在许多行业领域中扮演着非常重要的角色,如军事、安全监控、工业视觉等领域,而各行各业对于视频图像采集和处理技术的要求也越来越高。高速、实时性是主要发展趋势之一。目前,视频图像采集与处理技术的发展主要分为两类:一是基于PC在相关特定的PCIe采集板卡的基础上,通过软件对视频图像进行处理;二是利用相关的集成硬件如DSP、MCU、FPGA等对视频图像进行采集处理[1...转载 2019-08-29 19:43:04 · 9719 阅读 · 1 评论 -
CPU, DSP, GPU, FPGA对比
1. CPU一般来说CPU运算能力最弱,CPU虽然主频最高,但是单颗也就8核、16核的样子,一个核3.5g,16核也就56g,再考虑指令周期,每秒最多也就30g次乘法。还是定点的。2. DSPDSP虽然主频不如CPU,但是胜在乘法器多,随随便便带16个乘法器,还是浮点的。再来个4核,8核,还有特定的算法硬件加速,所以虽然主频只有1,2g但是运算能力还是比CPU强。当然现在出现了带专用...转载 2019-08-26 09:52:46 · 645 阅读 · 1 评论 -
深度学习硬件这件事,GPU、CPU、FPGA到底谁最合适?
二、数据的训练:CPU与GPU之争2.1、现状在如今的深度学习平台上,CPU面临着一个很尴尬的处境:它很重要又不是太重要。 它很重要,是因为它依旧是主流深度学习平台的重要组成部分:现百度首席科学家吴恩达曾利用16000颗CPU搭建了当时世界上最大的人工神经网络“Google Brain”并利用深度学习算法识别出了“猫”,又比如名震一时的“AlphaGo”就配置了多达1920颗CPU。...转载 2019-08-26 09:38:26 · 583 阅读 · 2 评论 -
2^N位二进制数的奇偶校验算法
本文链接:https://blog.csdn.net/alleincao/article/details/8174147首次说明一下,这个算法是针对位数为2^N的二进制数的。最近在搞Modbus,要求使用偶检验。想起以前看过一个效率很高的算法,但具体的怎样都想不起来,于是上Google搜索了一轮,终于找到当年看过的算法了:8位的数据D(D7~D0),他的算法为:D ^= D >...转载 2019-08-21 20:10:15 · 1308 阅读 · 0 评论 -
故障树分析法
1.布尔代数化简法:“或门”使用逻辑加(+),与门使用逻辑积(*),中间事件不断用下一层事件代替,知道全部用底事件代替,化简到若干个逻辑积的逻辑和,每个逻辑积代表一个割集,如下图:T=A*B=(c+x1)*(x2+d)=(x2*x3 +x1)*(x2+x4*x5)//结合吸收率和分配率=x2*x3*x2+x2*x1+x2*x3*x4*x5+x1*x4*x5=x1*x2+x2*x...原创 2019-07-25 11:02:38 · 10046 阅读 · 0 评论 -
PYNQ-Z2(六)理解pynq是如何用的
【PYNQ-Z2试用体验】玩转PYNQ系列:三、PYNQ数字图像处理之图像采集在硬件上,PYNQ-Z2为更好地扩展图像应用,同时配备了HDMI输入和HDMI输出端口。但硬件上并没有使用HDMI芯片进行控制,而是直接将HDMI接口连接到PL引脚。这意味着HDMI接口需要由可编程逻辑中的HDMI IP控制。在官方的PYNQ框架中,HDMI IP连接到PS DRAM,视频数据流可以从HDMI传输到内...转载 2019-06-02 21:59:15 · 10427 阅读 · 6 评论 -
moor8
基于PYNQ SOC平台——快速入门神经网络的建模与硬件加速原创 2019-05-07 15:00:57 · 241 阅读 · 1 评论 -
IC,MCU,模块区别
集成电路(integrated circuit)简称IC: 采用半导体制作工艺,在一块较小的单晶硅片上制作上许多晶体管及电阻器、电容器等元器件,并按照多层布线或遂道布线的方法将元器件组合成完整的电子电路。MCU: 微控制单元,又称单片微型计算机或者单片机,是指随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时计数器和多种I/O接口集成在一片芯片上,形成芯片级的计...转载 2019-04-17 21:39:11 · 10287 阅读 · 0 评论 -
马尔科夫链(Markov chain)5分钟简单入门,动态故障树
数学表达 条件一 …… 概率向量(状态向量) 条件二 …… 转移概率矩阵 例子 附录 1. 马尔科夫假设的概率理解 2. 参考 数学表达详细的数学表达还是建议看这里马克科夫链是一个随机系统,必须满足两个条件:系统任意时刻可以用有限个可能状态之一来描述 系统无后效性,即某阶段的状态一旦确定,则此后过程的演变不再受此前各种状态及决策的影响 无后效性(附录有详细...转载 2019-03-17 21:13:22 · 1516 阅读 · 0 评论 -
pynq笔记
PS/PL InterfacesZynq在ps和pl之间有9个axi接口。(M:master 主 S:slave 从)在PL端,有4xAXI主(M)hp(高性能)端口,2xAXIGP(通用)端口,2xAXI从(S)GP端口和1xAXI主(M)ACP端口。在PS端,中也有GPIO控制器连接到pl。有四个pynq类用于管理Zynqps(包括ps dram)和pl接口之间的数据...原创 2019-03-11 20:31:06 · 1228 阅读 · 1 评论 -
FPGA入门指南
https://www.bilibili.com/read/mobile/1833810 写给玩家的FPGA入门指南(5)——Veriloghttp://xilinx.eetrend.com/content/2018/100016713.htmlhttps://m.weibo.cn/status/4335668538756654?sourceType=qq&from=10920...转载 2019-02-26 10:05:06 · 528 阅读 · 0 评论 -
自定义IP核
https://blog.csdn.net/wordwarwordwar/article/details/72590295https://blog.csdn.net/FPGADesigner/article/details/75309278 FPGADesigner(大佬)https://steinslab.io/archives/1543原创 2019-01-15 20:39:23 · 791 阅读 · 0 评论 -
pynq-z2(四)定制PYNQ的overlay
一、用HLS生成一个定制IP(加速器)(1)首先打开vivado hls,本人的版本是2018.2,点击创建一个新工程。(2)设置工程名和路径,顶层函数设置为add,创建一个新的C++程序,名字叫做adder.cpp,不用在testbench中添加文件。选择板子的时候搜索xc7z020clg400-1,这是PYNQ的板子号,选择完成。(3)在左侧的菜单栏里选...原创 2018-12-03 21:11:58 · 4099 阅读 · 3 评论 -
Verilog中函数与任务比较
http://blog.163.com/taofenfang_05/blog/static/64214093201181692057682/任务和函数只能实现组合逻辑,而对时序逻辑无能为力。1 任务 任务就是一段封装在“task-endtask”之间的程序。任务是通过调用来执行的,而且只有在调用时才执行,如果定义了任务,但是在整个过程中都没有调用它,那么这个任务是不会执行的。调...转载 2018-09-23 14:25:36 · 2771 阅读 · 1 评论 -
Verilog奇偶校验_zt
http://blog.sina.com.cn/s/blog_6c7b6f030101hj8p.html1、奇偶校验位于数据位之后,占1位,用于表示串口通信中的校验方式。该位有用户根据需要决定,有奇校验,偶校验,无校验三种。一般都采用无奇偶校验的方式2、所谓奇校验,就是判断发送方的数据位中1的个数是否是奇数。选择奇校验时,首先将数据位的各位进行“异或”操作,然后将结果与1相“异或”,得到的结...转载 2018-09-23 14:24:19 · 1673 阅读 · 1 评论 -
8位数据的奇偶校验verilog程序_zt
转自:https://www.cnblogs.com/agllero/p/4444552.html利用Verilog语言实现对一个8位数据进行奇偶检验,具体方法如下,实现奇偶检验的算法就是,如果是偶校验,只要将该8位数据第一位和第二位进行异或,然后将得到的结果和第三位异或,依次下去,直到和第七位异或,这样得到的最后结果,就是偶校验位;如果是奇校验,将上面的偶校验位取反即可。下面的一段小程序...转载 2018-09-23 14:23:13 · 8128 阅读 · 2 评论 -
FPGA键盘实验实现连续加法图形分析(暂未实现)
1,状态转化图2,布尔代数化简(公式法化简->卡诺图化简)原创 2018-06-11 09:27:15 · 253 阅读 · 0 评论 -
时序逻辑设计-计数器(50MHZ晶振需要的计数器计数值的计算)
Q1:50MHZ晶振什么意思?A1:50MHz,就是可以达到每秒钟振荡50M次的石英晶片。[注]:晶振一般是一个压电石英片,越薄振荡频率越高。把这块晶振片接到振荡电路中,可以稳定电路的频率输出。Q2:50MHZ对应的时钟周期?A2:1s/50m=20ns[注]:1M=10^6Q3:50MHZ晶振,若每500ms翻转一次,需要计数器计数到多少翻转一次?A3:500 000 000ns/20ns=25...原创 2018-06-11 09:21:08 · 9006 阅读 · 0 评论 -
基于FPGA的任意分频器设计
作者:卢威虎1、前言 分频器是FPGA设计中使用频率非常高的基本单元之一。尽管目前在大部分设计中还广泛使用集成锁相环(如Altera的PLL,Xilinx的DLL)来进行时钟的分频、倍频以及相移设计,但是,对于时钟要求不太严格的设计,通过自主设计进行时钟分频的实现方法仍然非常流行。首先这种方法可以节省锁相环资源,再者这种方式只消耗不多的逻辑单元就可以达到对时钟的操作目的。2、整数倍分频器...转载 2018-05-29 09:21:45 · 10795 阅读 · 0 评论 -
简易两位二进制乘法器设计
一、 设计原理:1、基本公式: A1 A0 * B1 B0=Y3 Y2 Y1 Y02、设计理念: 两位二进制数 A1 A0 和B1 B0 相乘后,结果最高为四位Y3 Y2 Y1 Y0 3、归纳得出:由上式可归纳得出输出的4位二进制数与输入的两位二进制数之间的逻辑,得出下表: Y0 A0 B0 Y1 ...转载 2018-09-23 14:33:06 · 22604 阅读 · 1 评论 -
什么是粗粒度与细粒度,它们的区别又是什么?
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tashanhongye/article/details/47665989下面是摘录CSDN上的有关粗粒度和细粒度的讨论: A: 個人理解:對象的粒度就是對象所容納的邏輯 粗粒度容納的邏輯多,細粒度容納的邏輯少 B:轻量级和重量级应该是按占用的资源多少衡量的 B...转载 2018-10-20 20:53:48 · 16892 阅读 · 2 评论 -
FPGA理解(链接)
(1)初识FPGA(2)FPGA学习路线及开发流程(3) 数字逻辑设计基础(抽象的艺术)(4)Verilog基本语法(5)组合逻辑电路设计(6)时序逻辑电路设计(7)FSM(Finite State Machine,有限状态机)设计(8)状态机设计实例之独立按键消抖以上内容参考博主Mculover666关于FPGA的内容...原创 2018-11-08 15:54:52 · 353 阅读 · 0 评论 -
初学Zynq与Vivado
前言LDPC的项目终于进行到了最后的部分,落到我身上的任务是把视频数据传入板子供FPGA编译码,然后再把结果传回电脑处理。 板子型号是 Xilinx Zynq-7000 XC7Z045 FFG900 – 2 也就是这一块:【可能需要科学上网】 http://www.xilinx.com/products/boards-and-kits/ek-z7-zc706-g.html#hardware...转载 2018-11-04 19:06:56 · 609 阅读 · 0 评论 -
2018.9.1 初识FPGA --xilinx zynq为例
–文中参考xilinx datasheet 以及百度百科,如有错误之处还请不吝赐教! 1.什么是FPGA FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。...转载 2018-11-04 19:00:27 · 455 阅读 · 0 评论 -
pynq(https://github.com/Xilinx/PYNQ_Workshop)
PYNQ_Workshop for v2.2该存储库包含为期1天的实际PYNQ研讨会的培训材料。该材料包括PDF演示文稿,Jupyter Notebook实验室示例和相应的实验室文件。研讨会包括介绍性演示和四个动手实验课程。每个实验课程都有相应的演示文稿。运行实验的先决条件:PYNQ-Z1或PYNQ-Z2板 PYNQ v2.2用于PYNQ-Z1或PYNQ-Z2板的图像要完成...原创 2018-11-03 20:52:55 · 2389 阅读 · 0 评论 -
pynq-z2(三)PS端独立开发-vivado-sdk(正确版)
在上一篇写了一个错误版,主要的错误就是在addip后Run Block Automation并没有配置上,这很让人恼火,经过使用https://blog.csdn.net/bramblewalls/article/details/80045922这篇文章提到的PYNQ-Z1板卡文件,地址https://github.com/cathalmccabe/pynq-z1_board_files,进行测试...原创 2018-11-03 17:02:44 · 9500 阅读 · 4 评论 -
FPGA开发之FPGA开发流程简介
我以前一直很疑惑芯片设计这一块在实际中是怎么做的呢?今天了解了一下,现在设计芯片一般采用FPGA开发,大概流程如下:1、功能定义/器件选型:设计芯片之前当然你要知道你设计的芯片有什么功能,然后就模块化,写清楚谁谁谁干什么,这当然就是从上至下的方法,你试试从下到上给我看看。2、设计输入:这一步就是说我把模块分好了,然后我做什么呢?码代码,如果看代码不爽的话你画图吧!不过现在都用verilo...转载 2018-10-30 18:07:05 · 1081 阅读 · 0 评论