自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (2)
  • 收藏
  • 关注

转载 Vivado(2017.1)中 BRAM IP核的配置与使用

Xilinx公司的FPGA中有着很多的有用且对整个工程很有益处的IP核,比如数学类的IP核,数字信号处理使用的IP核,以及存储类的IP核,本篇文章主要介绍BRAM  IP核的使用。    BRAM是FPGA定制的RAM资源,有着较大的存储空间,且在日常的工程中使用较为频繁。BRAM以阵列的方式排布于FPGA的内部,是FPGA实现各种存储功能的主要部分,是真正的双读/写端口的同步的RAM。 ...

2018-07-31 16:03:47 6870

转载 Xilinx Vivado的使用详细介绍(3):使用IP核

IP核(IP Core)Vivado中有很多IP核可以直接使用,例如数学运算(乘法器、除法器、浮点运算器等)、信号处理(FFT、DFT、DDS等)。IP核类似编程中的函数库(例如C语言中的printf()函数),可以直接调用,非常方便,大大加快了开发速度。使用Verilog调用IP核这里简单举一个乘法器的IP核使用实例,使用Verilog调用。首先新建工程,新建demo.v顶层模块。...

2018-07-31 15:25:09 1161 1

转载 Vivado中ROM/RAM IP核的使用

添加IP核点击Flow Navigator中的IP Catalog,打开窗口添加IP核。Block Memory为块存储设备,这里需要的是Distributed Memory Generator参数设置设置参数:Component Name:生成的IP核模块名 Depth:存储深度,即数据点数目 DataWidth:数据位宽,即每个数据点的位数 Memory Ty...

2018-07-31 15:24:06 16454

转载 FPGA开发之RAM IP的使用

CORE Generator里有很多的IP核,适合用于各方面的设计。一般来说,它包括了:基本模块,通信与网络模块,数字信号处理模块,数字功能设计模块,存储器模块,微处理器,控制器与外设,标准与协议设计模块,语音处理模块,标准总线模块,视频与图像处理模块等。           在Xilinx的IP核里有xilinx core generator 里面的memory interface gene...

2018-07-31 14:50:18 673

转载 MATLAB BP网络工具箱中不同学习函数,训练函数和性能函数时的学习效率和精度

demo来自《神经网络理论与MATLAB7实现》首先,介绍一下BP网络在MATLAB工具箱中常用的几类函数:前向网络创建函数: newcf   创建级联前向网络newff   创建前向BP网络newffd   创建存在输入延迟的前向网络传递函数: logsig   S型的对数函数dlogsig   logsig的导函数tansig   S型的正切函数...

2018-07-31 09:31:55 6320

转载 如何解决Verilog目前不支持数组型端口定义!

由于Verilog目前不支持数组型端口定义,导致编写FPGA模块时可扩展性下降,google后找到如下方法,可以稍微缓解一些。 `define PACK_ARRAY(PK_WIDTH,PK_LEN,PK_SRC,PK_DEST)    genvar pk_idx; generate for (pk_idx=0; pk_idx<(PK_LEN); pk_idx=pk_idx+1) be...

2018-07-30 19:23:13 8635 3

转载 神经网络学习函数和训练函数有什么联系?

训练函数和学习函数是两个不同的函数 ,网络设置中两个都有。简单的说,训练函数确定调整的大算法,是全局调整权值和阈值,考虑的是整体误差的最小; 学习函数决定调整量怎么确定,是局部调整权值和阈值,考虑的是单个神经元误差的最小。所以两者不冲突,可以一样也可以不同,就像你绕着楼跑步时,地球也在绕着太阳跑,是局部与整体的区别,既有联系又有区别,辩证统一。训练函数是如何让误差最小的一些算法,如梯度下降,共...

2018-07-30 17:58:23 6877 3

转载 Matlab中常见的神经网络训练函数和学习函数

一、训练函数1、traingdName:Gradient descent backpropagation (梯度下降反向传播算法 )  Description:triangd is a network training function that updates weight and bias values  according to gradient descent.        ...

2018-07-30 17:02:13 7130

转载 新版Matlab中神经网络训练函数Newff的使用方法

一、   介绍新版newffSyntax· net = newff(P,T,[S1 S2...S(N-l)],{TF1 TF2...TFNl}, BTF,BLF,PF,IPF,OPF,DDF)Description newff(P,T,[S1 S2...S(N-l)],{TF1 TF2...TFNl}, BTF,BLF,PF,IPF,OPF,DDF) takes several...

2018-07-30 17:00:14 6853 1

转载 应用matlab&modelsim设计FPGA算法(1)

最近 的项目需要应用FPGA,以前做过matlab与FPGA的算法设计,拿出来分享一下。传统的fpga算法设计需要进行c语言建模,并且用c语言建立激励,再通过modelsim单独进行算法设计,并且在modelsim中也要设计激励文件,再通过c语言与modelsim的比较进行验证,研发周期非常长。我在工作中比较喜欢偷懒,觉得这个过程太繁琐了,并且因为自己是自动化电动机出身,对matlab的感...

2018-07-30 15:00:53 2118

转载 Link for ModelSim介绍

Link for ModelSim介绍    Link for ModelSim®是一个把MATLAB/Simulink和针对FPGA 和ASIC的硬件设计流程无缝连结起来的联合仿真的接口扩展模块。它提供一个快速的双向连接将MATLAB/Simulink和硬件描述语言仿真器Modelsim连接起来。使二者之间直接的联合仿真成为可能,并且让你更高效的在MATLAB/Simulink中验证Mode...

2018-07-30 14:04:46 1219

转载 MATLAB与ISE联合仿真的必备流程

MATLAB与ISE联合仿真的必备流程一般的仿真流程是,通过MATLAB进行核心算法的仿真,然后从MATLAB产生数据并传给ISE的testbench,运行verilog程序,并将输出数据在Modelsim中仿真,并写回MATLAB中观察(例如频谱等)。MATLAB写入testbench:MATLAB:sin_data=dec2bin(sin_data);[m,n]=size(...

2018-07-30 14:03:42 539

转载 Matlab和Modelsim联合仿真

软件版本:Matlab R2012a x64Modelsim SE-64 10.2c安装好以上版本的软件后,不用做其他设置,直接进行下面的步骤。如果matlab使用到S-function函数的话,需要安装和设置相应编译器等,在此不再详细描述。操作步骤1.     在matlab工作空间中输入cosimWizard,回车后弹出如下对话框: 如上图,如果正确安装了M...

2018-07-30 14:03:00 714

转载 【深度学习】VGG-16网络结构

VGG-16,输入层224*224*3,经过两层相同的卷积,卷积filter为3*3,stride为1,filter数为64,然后经过一层pooling。接着按照相同的方式,让宽和高越来越小,而通道数逐倍增加,直到512。最后用两层相同全连接加一个softmax。VGG-16的性能与VGG-19差不多,所以基本用VGG-16...

2018-07-25 21:29:44 1410

转载 深度学习VGG模型核心拆解

如今深度学习发展火热,但很多优秀的文章都是基于经典文章,经典文章中的一句一词都值得推敲和分析。此外,深度学习虽然一直被人诟病缺乏足够令人信服的理论,但不代表我们不能感性分析理解,下面我们将对2014年夺得ImageNet的定位第一和分类第二的VGG网络进行分析,在此过程中更多的是对这篇经典文章的感性分析,希望和大家共同交流产生共鸣,如果有理解不到位的也真诚期待指出错误。  Simo...

2018-07-25 20:58:02 233

转载 深度学习中常用的激励函数

—— 原文发布于本人的微信公众号“大数据与人工智能Lab”(BigdataAILab),欢迎关注。 我们知道深度学习的理论基础是神经网络,在单层神经网络中(感知机),输入和输出计算关系如下图所示: 可见,输入与输出是一个线性关系,对于增加了多个神经元之后,计算公式也是类似,如下图: 这样的模型就只能处理一些简单的线性数据,而对于非线性数据则很难有效地处理(也可通过组合多个不同线性表...

2018-07-25 15:59:29 635

转载 大话CNN经典模型:LeNet

近几年来,卷积神经网络(Convolutional Neural Networks,简称CNN)在图像识别中取得了非常成功的应用,成为深度学习的一大亮点。CNN发展至今,已经有很多变种,其中有几个经典模型在CNN发展历程中有着里程碑的意义,它们分别是:LeNet、Alexnet、Googlenet、VGG、DRL等,接下来将分期进行逐一介绍。在之前的文章中,已经介绍了卷积神经网络(CNN)的...

2018-07-25 11:15:10 344

转载 大话CNN经典模型:VGGNet

— 原文发布于本人的微信公众号“大数据与人工智能Lab”(BigdataAILab),欢迎关注。  2014年,牛津大学计算机视觉组(Visual Geometry Group)和Google DeepMind公司的研究员一起研发出了新的深度卷积神经网络:VGGNet,并取得了ILSVRC2014比赛分类项目的第二名(第一名是GoogLeNet,也是同年提出的)和定位项目的第一名。VG...

2018-07-25 09:37:42 778

转载 大话CNN经典模型:AlexNet

—— 原文发布于本人的微信公众号“大数据与人工智能Lab”(BigdataAILab),欢迎关注。 2012年,Alex Krizhevsky、Ilya Sutskever在多伦多大学Geoff Hinton的实验室设计出了一个深层的卷积神经网络AlexNet,夺得了2012年ImageNet LSVRC的冠军,且准确率远超第二名(top5错误率为15.3%,第二名为26.2%),引起...

2018-07-25 09:37:00 759

转载 大话卷积神经网络(CNN)

https://my.oschina.net/u/876354/blog/1620906   这几年深度学习快速发展,在图像识别、语音识别、物体识别等各种场景上取得了巨大的成功,例如AlphaGo击败世界围棋冠军,iPhone X内置了人脸识别解锁功能等等,很多AI产品在世界上引起了很大的轰动。在这场深度学习革命中,卷积神经网络(Convolutional Neural Net...

2018-07-25 09:36:05 538

转载 LATEX错误「Unknown graphics extension: .eps」

错误原因:使用includegraphics插入图片为eps格式,此种方法只能用latex默认编译器使用,如果使用pdflaTex则不能插入.eps格式图片。解决方法:1) 最简单方法添加「\usepackage{epstopdf} 」2) 将eps文件转换为pdf图片或jpg图片。3) 用latex而不是pdflatex:    tex处理过tex文件后生成dvi文件,然后通过dvipdf转换成...

2018-07-15 18:43:00 2641

转载 Vivado防止信号被综合掉的三种方法

1、 信号前面将keep  hierarchy选择YES ,或者选择soft(在综合时保持层次),这样有利于你从模块中找到你想抓取的信号和信号名不被更改。2、  信号前面使用 (* KEEP = “{TRUE|FALSE |SOFT}” *),可以防止信号被综合掉,但是无法防止在布局布线的时候优化掉3、 信号前面使用(* DONT_TOUCH= “{TRUE|FALSE}” *),可以防止信号在综...

2018-07-13 11:17:30 2594

转载 Vivado防止信号被综合掉的三种方法

1、 信号前面将keep  hierarchy选择YES ,或者选择soft(在综合时保持层次),这样有利于你从模块中找到你想抓取的信号和信号名不被更改。2、  信号前面使用 (* KEEP = “{TRUE|FALSE |SOFT}” *),可以防止信号被综合掉,但是无法防止在布局布线的时候优化掉3、 信号前面使用(* DONT_TOUCH= “{TRUE|FALSE}” *),可以防止信号在综...

2018-07-13 11:17:29 4923 1

转载 综合里dont_use/dont_touch/ideal_network的理解

先简单记录一下自己的理解,下一步看看官方文档的描述。dont_usedont_touchideal_networkdont_use部分单元库的单元,由于工艺、性能功耗面积等原因,工艺厂商建议或者后端建议,不要使用的单元。在综合步骤设置dont_use属性,就可以避免综合使用这些单元。dont_touch对目标模块,设置dont_touch属性。会使得该目标模块,不进行任何优化。 常见, 比如已经综...

2018-07-13 11:16:07 4831

转载 在vivado中使用attribute

之前最常用的一个attribute就是mark_debug了,语法如下:(*mark_debug="ture"*)。   今天又学到几个新的,原文在这里:http://china.xilinx.com/support/answers/54357.html   一、PARALLEL_CASE (Verilog Only)  Parallel case is valid only for Verilo...

2018-07-13 09:05:16 1108

转载 基于FPGA的CORDIC算法实现——Verilog版

目前,学习与开发FPGA的程序员们大多使用的是Verilog HDL语言(以下简称为Verilog),关于Verilog的诸多优点一休哥就不多介绍了,在此,我们将重点放在Verilog的运算操作上。 我们都知道,在Verilog中,运算一般分为逻辑运算(与或非等)与算术运算(加减乘除等)。而在一开始学习Verilog时,老司机一定会提醒我们,“切记,千万别用‘/’除、‘%’取模(有的也叫取余)和‘...

2018-07-12 15:57:32 975

转载 Cordic算法的FPGA实现之原理学习随记

一、Cordic算法原理    CORDIC(COordinate Rotation DIgital Computer)算法是坐标旋转数字计算机的简称,由Jack Volder 于1959年在设计美国航空控制系统过程中首先提出,主要解决导航系统中三角函数、反三角函数、开方等实时计算问题。    CORDIC算法应用十分广泛,在DFT、DCT、各种滤波及矩阵的奇异值分解中都可应用CORDIC算法,C...

2018-07-12 15:34:24 782

转载 Cordic算法的FPGA实现之原理学习随记

一、Cordic算法原理    CORDIC(COordinate Rotation DIgital Computer)算法是坐标旋转数字计算机的简称,由Jack Volder 于1959年在设计美国航空控制系统过程中首先提出,主要解决导航系统中三角函数、反三角函数、开方等实时计算问题。    CORDIC算法应用十分广泛,在DFT、DCT、各种滤波及矩阵的奇异值分解中都可应用CORDIC算法,C...

2018-07-12 15:34:18 1023

转载 三角函数计算,Cordic 算法入门

三角函数的计算是个复杂的主题,有计算机之前,人们通常通过查找三角函数表来计算任意角度的三角函数的值。这种表格在人们刚刚产生三角函数的概念的时候就已经有了,它们通常是通过从已知值(比如sin(π/2)=1)开始并重复应用半角和和差公式而生成。现在有了计算机,三角函数表便推出了历史的舞台。但是像我这样的喜欢刨根问底的人,不禁要问计算机又是如何计算三角函数值的呢。最容易想到的办法就是利用级数展开,比如泰...

2018-07-12 15:32:27 556

转载 Xilinx VIVADO CORDIC核的使用

一:参数配置1.选择函数的类型。包含了矢量旋转,矢量变换,正弦,余弦,双曲正弦,双曲余弦,反正切,反双曲正切和平方根的计算。2.选择cordic的结构。可选并行和串行。3.选择输出流水线类型。提供了三种,无,最优,最大。其中optimal模式实现时使用很多流水线,但是不使用附加的查找表。4.选择数据格式。有符号小数(默认),无符号小数,无符号整数。5.选择相位模式。弧度和角度。。radians的取...

2018-07-12 15:28:37 1931

转载 fpga时序分析和slack(SOC) (Quartus II)

Abstract在分析timing時,在timing report中常會出現setup time slack與hold time slack,本文深入探討slack的意義。Introductionslack英文本身的意思是鬆弛,若setup time/hold time slack為正值,表示目前滿足setup time/hold time需求,並且還有多餘的時間,若slack為負值,表示目前已經...

2018-07-12 09:19:28 1793

转载 BRAM和DSP间的纠缠(一) ---Vivado高效设计案例分享

Xilinx公司的FPGA中不仅有“成吨”的逻辑资源(slice),另外存储器、I/O、时钟和集成式IP资源也非常丰富,笔者在设计中经常使用Block RAM(BRAM)、DSP资源,灵活运用BRAM和DSP能为设计的速度和面积都带来一定的提升,可谓是鱼和熊掌兼得。以Kintex-7系列为例,如图1所示为kintex-7各芯片资源表,其中Block RAM/FIFO w/ ECC (36 Kb e...

2018-07-11 21:16:20 3516 1

转载 vivado生成BRAM ROM表

在vivado下使用bram的文章很多,这里我想用的bram作为ROM使用。在zc702开发板上实现。首先在vivado的block design中添加IP,选择axi bram进行搜索,选择“AXI BRAM Controller”,如下图所示然后输入blk,进行搜索,选择“Block Memory Generator”然后使用推荐的连接自动化“Run Connection Automation...

2018-07-11 21:14:55 3080 1

转载 ZYNQ+Vivado2015.2系列(十一)BRAM的使用——PS与PL交互数据,及其与DRAM(Distributed RAM)的区别

Block RAM是PL部分的存储器阵列,为了与DRAM(分布式RAM)区分开,所以叫块RAM。ZYNQ的每一个BRAM 36KB,7020的BRAM有140个(4.9M),7030有265个(9.3M),7045有545个(19.2M)。每一个BRAM都有两个共享数据的独立端口,当然是可以配置的,可用于片内数据缓存、FIFO缓冲。在Vivado里有一个IP核叫Block Memory Gener...

2018-07-11 21:09:28 4652

转载 对Vivado多周期路径约束的诠释

我们先看看单时钟周期的情形,如下图所示。红色标记为默认情况下的建立时间检查,蓝色标记为默认情况下的保持时间检查,且注意保持时间的检查是以建立时间的检查为前提,即总是在建立时间检查的前一个时钟周期确定保持时间检查。如果是多周期,如下图所示,此时两个寄存器之间尽管使用同一个时钟但因为使能信号的作用,使得两者数据率变为时钟频率的一半,意味着发起沿和捕获沿相隔2个时钟周期。此时新的建立时间检查如下图中的红...

2018-07-11 19:18:27 1528

转载 换位思考多周期约束

在开篇前先推荐两篇文档,一篇是altera的官方文档 Appling Multicycle Execptions in the TimeQuest Timing Analyzer ,另一篇是riple兄很早之前推荐过的Multicycles Exception Between Two Synchronous Clock,这两篇都是关于多周期约束很好的上手文档,虽然可以快速上手解决当务之急,但事后不...

2018-07-11 18:57:52 393

转载 FPGA开发全攻略——时序约束

原文链接:FPGA开发全攻略连载之十二:FPGA实战开发技巧(5)FPGA开发全攻略连载之十二:FPGA实战开发技巧(6)(原文缺失,转自:FPGA开发全攻略—工程师创新设计宝典) 5.3.3 和FPGA接口相关的设置以及时序分析5.3.3.1 使用约束文件添加时序约束一般来讲,添加约束的原则为先附加全局约束,再补充局部约束,而且局部约束比较宽松。其目的是在可能的地方尽量放松约束,提高布线成功概率...

2018-07-11 18:54:28 1029

转载 Xilinx Vivado的使用详细介绍(3):使用IP核

IP核(IP Core)Vivado中有很多IP核可以直接使用,例如数学运算(乘法器、除法器、浮点运算器等)、信号处理(FFT、DFT、DDS等)。IP核类似编程中的函数库(例如C语言中的printf()函数),可以直接调用,非常方便,大大加快了开发速度。使用Verilog调用IP核这里简单举一个乘法器的IP核使用实例,使用Verilog调用。首先新建工程,新建demo.v顶层模块。添加IP核点击...

2018-07-11 10:37:11 882

转载 Xilinx Vivado的使用详细介绍(2):综合、实现、管脚分配、时钟设置、烧写

前面一篇介绍了从新建工程一直到编写代码进行行为仿真,这篇继续进行介绍。修改器件型号新建工程时选择过器件型号,如果新建好工程后需要修改型号,可以选择菜单Tools - Project Settings。弹出窗口中,点击Project Device右侧的按钮,即可选择器件型号。综合(Synthesis)综合类似于编程中的编译。在Flow Navigator或Flow菜单中,选择Synthesis - ...

2018-07-11 10:36:25 3674

转载 Xilinx Vivado的使用详细介绍(1):创建工程、编写代码、行为仿真、Testbench

新建工程打开Vivado软件,直接在欢迎界面点击Create New Project,或在开始菜单中选择File - New Project即可新建工程。点击Next输入工程名称和路径。选择RTL Project,勾选Do not specify......(这样可以跳过添加源文件的步骤,源文件可以后面再添加)。根据自己的开发板选择器件型号,可以直接通过型号进行搜索,例如Basys3开发板上的芯片...

2018-07-11 10:35:33 680

Xilinx FPGA XDC约束技巧

Xilinx FPGA XDC约束技巧

2017-12-25

Optimizing parallel reduction in CUDA 规约优化文档

Optimizing parallel reduction in CUDA 规约优化文档

2017-12-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除