自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(118)
  • 资源 (3)
  • 收藏
  • 关注

转载 《转》我奋斗了18年才和你坐在一起喝咖啡--和大家再重温一下这篇文章

为了和大家分享所以改为原创。激励一下我们正在前进的人。这篇文章是我高中的时候看到的,说实话,当时对我的激励很大,到现在也是,只是七年八年过去了,奋斗了这么多年,我想想只是为了喝个咖啡吗?我的白领朋友们,如果我是一个初中没毕业就来沪打工的民工,你会和我坐在“星巴克”一起喝咖啡吗?不会,肯定不会。比较我们的成长历程,你会发现,为了一些在你看来唾手可得的东西,我却需要付出巨大的努力。

2012-06-07 11:33:30 4646 21

转载 以太网流量控制——PAUSE帧

http://www.tuicool.com/articles/Bzu2uuf今天在测试DPDK性能的时候,发现发包工具的发包速率无法提升上去,千兆网卡设置速率70W qps,只能发出1W的速率。抓包发现有大量的PAUSE流控帧。一、PAUSE帧介绍PAUSE帧是以太网在全双工模式下,MAC控制子层发出的流量控制帧。IEEE802.3协议为MAC控制子层

2016-05-21 00:29:00 13040

原创 以太网之物理层

这一节来学习一下以太网的物理层,IEEE802.3标准就给出了以太网的物理层结构,如下图所示红色框内所标注的。    我们可以看到物理大致可以分为: GMII介质无关接口、 PCS物理编码子层,PMA物理介质连接层,PMD物理介质相关层、MDI接口 、MEDIUM物理介质。    我们从下往上看,首先看物理介质层。        1、物理介质层     

2016-05-01 00:03:15 15168 3

原创 以太网数据格式与封装解封——以太网基础02

我们在上一文中介绍了以太网5层模型,这一节我想学习一下以太网数据封装与解封的知识,了解以太网数据是如何传输的。一、数据封装      当我们应用程序用TCP传输数据的时候,数据被送入协议栈中,然后逐个通过每一层,知道最后到物理层数据转换成比特流,送入网络。而再这个过程中,每一层都会对要发送的数据加一些首部信息。整个过程如下图。       如图可以看

2016-04-27 00:31:13 10128

原创 OSI七层模型与TCP/IP五层模型——以太网基础01

博主是搞是个FPGA的,一直没有真正的研究过以太网相关的技术,现在终于能静下心学习一下,希望自己能更深入的掌握这项最基本的通信接口技术。下面就开始搞了。一、OSI参考模型        今天我们先学习一下以太网最基本也是重要的知识——OSI参考模型。 1、OSI的来源        OSI(Open System Interconnect),即开放式系统互联。 一般都叫

2016-04-24 23:43:56 13927 1

原创 边沿检测方法-FPGA入门教程

本节实验主要讲解FPGA开发中边沿检测方法,我们在设计中会经常用到。这个地方大家一定要理解。1.1.1.原理介绍学习HDL语言设计与其他语言不一样,HDL语言设计需要考虑更多的信号的电气特性,时序特性。我们先看一下边沿检测的基本原理。如上图,为我们待检测信号,可以看出边沿的特性:边沿两侧信号的电平发生了变化。红色为上升沿,绿色为下降沿。上升沿之前电平为低,上升沿之后电平为高。下降沿

2016-04-21 22:06:05 4051

原创 如何用ModelsimSE仿真IP核-以PLL为例

我们之前介绍了如何使用Modelsim SE进行仿真和利用do文件的仿真方法,但是其中待仿真的模块是我们自己编写的Verilog模块,但是在实际工作中,我们的设计中会经常用到FPGA厂商给我们提供的现成模块—IP核,这些模块我们看到不到源代码,只知道IP核的端口信息,当我们要仿真的时候,同样要向Modelsim提供这些IP核的信息,而FPGA厂商也会给我们提供相应的IP核的编译库文件,我们如果设计

2016-04-21 22:02:55 19661 7

原创 Quartus II 安装教程—FPGA入门教程

Quartus II 工具安装一般分为两个部分,首先是开发工具本身的安装,其次就是器件库的安装,我们可以根据我们的需要选择相应的器件库来安装,这里我们使用Cyclone IV的FPGA,即安装Cyclone器件库即可。第一步:打开我们的软件安装文件夹找到安装文件,双击打开,如下图。第二步:弹出如下对话框,点击Next下一步。第三步:弹出如下对话框,选择”I accept the

2016-04-21 21:49:55 57293 2

原创 如何新建Quartus工程—FPGA入门教程

这一章我们来实现第一个FPGA工程—LED流水灯。我们将通过流水灯例程向大家介绍一次完整的FPGA开发流程,从新建工程,代码设计,综合实现,管脚约束,下载FPGA程序。掌握本章内容,大家就算正式的开始入门FPGA开发了。1.1.2.新建工程第一步:从开始菜单启动Quartus II 13.1(64 bit) ,如下图。第二步:菜单栏选择File—>New Project Wizar

2016-04-17 23:27:19 34110 7

原创 搭建Modelsim SE仿真环境-使用do文件仿真

本章我们介绍仿真环境搭建是基于Modelsim SE的。Modelsim有很多版本,比如说Modelsim-Altera,但是笔者还是建议大家使用Modelsim-SE,Modelsim-Altera实际是针对Altera 的OEM版本,它事先将Altera的一些IP核仿真库添加到了工具中,但功能上有一些缩减。而Modelsim-SE需要自己手动添加这些仿真库,但是功能更全,而且工作中,工程师更倾

2016-04-17 23:25:16 16223 1

原创 modelsim仿真MCB DDR3 IP核时的报错

问题描述:ddr3_model_parameters_c3.vh这个文件总是编译不过去,有错误。错误提示: Error: (vlog-2902) ddr2_model_parameters_c3.vh(214): A `define was found on the same line as a SystemVerilog `ifdef, `ifndef, `elsif, or

2016-04-17 22:17:48 3777 2

转载 xilinx时序约束

转自:http://blog.chinaunix.net/uid-15887868-id-4091631.html在进行FPGA的设计时,经常会需要在综合、实现的阶段添加约束,以便能够控制综合、实现过程,使设计满足我们需要的运行速度、引脚位置等要求。通常的做法是设计编写约束文件并导入到综合实现工具,在进行FPGA/CPLD的综合、实现过程中指导逻辑的映射和布局布线。下面主要总结一下Xili

2015-12-24 14:57:54 3429

原创 Vivado 中调用ultraedit UE

如上图 建议选择Custom Editor ,后面路径为 "C:/Program Files (x86)/IDM Computer Solutions/UltraEdit/uedit32.exe"[file name]  注意不要添加 -l[line number] ,之前添加了 -l[line number] ,一直无法打开。其次路径中不要包含空格

2015-11-28 00:23:15 6319 2

原创 ZYNQ 的三种GPIO :MIO EMIO AXI_GPIO 小节

学了zynq一段时间,一上来的时候就被zynq的GPIO唬住了,实在没搞清楚zynq的GPIO怎么回事,一会这样,一会那样,最后才慢慢发现zynq至少有3种GPIO可以调用。难怪我觉得每篇介绍GPIO的博客说的有一些不一样呢。我们先看有哪三种GPIO:MIO、EMIO、AXI_GPIO。其中MIO和EMIO是直接挂在PS上的GPIO。而AXI_GPIO是通过AXI总线挂在PS上的GPIO上。

2015-10-30 00:34:00 18235

原创 modelsim显示状态机名称的方法

如下 使用virtual type脚本命令virtual type { {0x000001 IDLE} {0x000002 INIT_PRE} {0x000004 INIT_PRE_NOP} {0x000008 INIT_REF} {0x000010 INIT_REF_NOP} {0x000020 INIT_MRS} {0x000040 INIT_MRS_NOP} {0x000080 ID

2015-09-08 15:35:46 3077

原创 ISE综合不通过 但不报错

解决方法可以见官网链接:http://www.xilinx.com/support/answers/59851.html具体原因是因为证书检查的原因。下载相应补丁包,对应更替ISE目录下的文件。注意是更换相应文件夹下的文件,不是文件夹。更换后即可

2015-09-08 15:29:58 4533

原创 UE verilog always(*) 星花 被注释

删除 verilog 2001.uew中的 Block Comment On Alt = (* Block Comment Off Alt = *) 后就可以正常使用always(*)了,要不然在us里这块代码显示被注释了

2015-05-27 22:56:32 3958 6

原创 Xilinx FPGA 学习笔记——原语 BUFIO 的理解

我一直没搞明白BUFIO是干嘛用的。官方解释有这么一段话,如下:(virtex的)“BUFIO是用来驱动I/O列内的专用时钟网络,这个专用的时钟网络独立于全局时钟资源,适合采集源同步数据。BUFIO只能由位于同一时钟区域的Clock-Capable I/O驱动。一个时钟区域有4个BURIO,其中的2个可以驱动相邻区域的I/O时钟网络。BUFIO不能驱动逻辑资源(CLB、BRAM等),因为I

2015-04-30 00:01:51 25166 2

转载 FPGA 时钟设计 1 —— 时钟资源总结

来源:http://guqian110.github.io/pages/2014/08/28/the_clock_design_fpga_1_summary_of_clock_resource.html关于一款芯片,最权威、最新的资料当然是厂家的官方文件。很多大牛都推荐直接阅读原厂的 datasheet 和 user guide。根据我的体验,这确实是最好的途径。原因有两个

2015-04-29 23:18:40 18018 2

原创 Xilinx FPGA 学习笔记一-chipscope 无法观察信号 BUFG

今天开始试着使用chipscope,写了一个简单的流水灯的例程,开始综合布线的时候没有问题,但是加上chipscope 以后,综合就总报错。第一种情况:用chipscope直接观察全局时钟信号,即BUFG信号-----X错误如下:ERROR:Place:1136 - This design contains a global buffer instance,   , driving

2015-04-28 01:55:28 30723 1

原创 Xilinx FPGA 学习笔记——时钟资源

在Xilinx的FPGA中,时钟网络资源分为三大类:全局时钟资源和区域时钟资源。全局时钟资源是一种专用互连网络,它可以降低时钟歪斜、占空比失真和功耗,提高抖动容限。Xilinx的全局时钟资源设计了专用时钟缓冲与驱动结构,从而使全局时钟到达CLB、IOB和BRAM的延时最小。区域时钟资源是独立于全局时钟网络的。Xilinx的器件分成若干个时钟区域,以Virtex-6为例,Virtex-6的最

2015-04-23 17:47:45 33735 2

转载 转--ISE中Xilinx全局时钟系统的设计

在使用QuartusII设计Altera的FPGA时,对于时钟的考虑一般很少。我们想得到一个固定频率的时钟,无非就是将晶振从某个时钟管脚输入:若晶振频率即为期望频率,则可以直接使用;若与期望频率不符,则调动IP核生成PLL,配置PLL的输出为期望频率即可。可是若将FPGA换为Xilinx系列,在ISE环境中设计时,时钟的使用就没那么简单了,尤其是在设计复杂工程时,全局时钟系统的设计显得尤为重要。

2015-04-11 19:11:41 4614

转载 Spartan6系列之SelectIO深入详解及高级应用简介

http://www.it165.net/embed/html/201409/2645.html1.      什么是I/O Tile?对Spartan-6系列FPGA来说,一个IO Tile包括2个IOB、2个ILOGIC、2个OLOGIC、2个IODELAY1.1.  IOB结构介绍      每个IOB包含了输入、输出、三态驱动器;这些驱动器可以配置为不同的电平标准如LVTT

2015-04-01 15:49:14 5003

转载 CRC算法原理及其Verilog实现

http://blog.163.com/fpga_ip/blog/static/2044430242012558747194/一.CRC简介    CRC校验是一种在数据通信系统和其它串行传输系统中广泛使用的错误检测手段。通用的CRC标准有CRC-8、CRC-16、CRC-32、CRC-CCIT,其中在网络通信系统中应用最广泛的是CRC-32标准。本文将以CRC-32为

2015-03-19 21:28:37 4393

转载 CMOS Sensor的调试经验分享

CMOS Sensor的调试经验分享     我这里要介绍的就是CMOS摄像头的一些调试经验。  首先,要认识CMOS摄像头的结构。我们通常拿到的是集成封装好的模组,一般由三个部分组成:镜头、感应器和图像信号处理器构成。一般情况下,集成好的模组我们只看到外面的镜头、接口和封装壳,这种一般是固定焦距的。有些厂商只提供芯片,需要自己安装镜头,镜头要选择合适大小的镜头,如果没有夜视要求的话,最好

2015-03-02 21:34:09 3177

转载 亚稳态 的好文章

http://blog.chinaunix.net/uid-25553717-id-3286143.htmlhttp://blog.sina.com.cn/s/blog_aec06aac01011zgm.html

2015-02-04 22:39:46 935

转载 冲击电流

就是 一打开电源的瞬间,电路中由于有电容,此刻相当于短路,此时流过的电流就是最大,这种电流就叫做冲击电流。就像水倒入空盆中的瞬间,水在盆中急速回旋,甚至冲出盆沿,很急流,就这样。远大于正常工作电流,一般定义为正常工作电流的1.5倍左右。大部分的冲击电流是在开机瞬间产生的。产生的原因大部分是因为电路中有大容量的电解电容,电容在充电的瞬间是相当于短路,容量越大冲击电流和时间就越大越长。解决方法常用

2014-12-19 18:41:05 5040

原创 FPGA时序分析的一些理解

最开始看的一些资料,大家其实讲得都差不多,但是我却看得云里雾里的,应该是还没真正理解这个东西。今天心血来潮又把 《七天玩转ALTREA之时序篇》拿出来看了看,应该有些豁然开朗的感觉,在下实属愚笨,想透彻理解一个东西太慢。首先看一下寄存器到寄存器的路径,如图1:data arrive time:数据到达REG2.D的时刻。进行时序分析时,setup 和hold时间分析时的da

2014-12-02 19:29:41 3998

原创 TVS参数详解及选型应用

一、首先了解TVS管的参数,我们以littelfuse的5.0SMDJ系列为例。之最大峰值脉冲功率 Maximum Peak Pulse Power Pppm峰值脉冲功率为ESD器件上瞬间通过的最大功率值,由最大钳位电压Vc和此时脉冲峰值电流Ipp决定的。由上图可以看到5.0SMDJ系列的最大脉冲峰值功率为5000W。还可以看出该系列下的每个型号的Vc*Ip

2014-10-31 17:26:31 53302 12

转载 电感饱和

一、电感磁饱和的原因: 电子在原子外层绕著数层轨道旋转,每一层电子旋转都会依愣次定律产生一微弱的磁场,每一层的磁力不同、方向也不同,但合力为零,没有磁性。当一线圈通电流,同样的依愣次定律产生一磁场,磁力线穿过磁性材料(铁心),磁性材料内原子的电子旋转轨道开始转向,以抵消线圈产生的磁力线,线圈电流越大,越多磁性材料电子的旋转方向改变,最后所有磁性材料电子旋转方向都相同时,就是磁饱和。  电感

2014-10-23 17:15:32 5823 1

原创 上电回沟

上电过程上电过程电源不是线性增长

2014-10-13 09:30:37 9220

原创 FPGA基础之同步复位与异步复位

1、异步复位//异步复位always @ (posedge clk or negedge i_rst)if (!i_rst) begin a <= 1'b0;endelse begina <= 1'b1;end2、同步复位//同步复位always @ (posedge clk )if (!i_rst) begin b <= 1'b0;endelse begin

2014-09-09 11:01:59 1983

原创 FPGA基础之逻辑单元(LE or LC)的基本结构

逻辑单元在ALTERA叫作LE,在XILNXXilnx

2014-09-05 17:58:23 40146

原创 FPGA基础之锁存器与触发器的设计

首先设计锁存器的时候应该清楚什么是锁存器,锁存器其实是对电平信号

2014-09-05 17:07:37 8641 2

转载 Bayer图像处理

http://www.cnblogs.com/lin1270/archive/2010/12/01/1893647.html

2014-08-06 11:17:01 1236

转载 链表的常见操作

链表是数据结构的重要内容,在计算机程序中应用广泛,同时也是各公司笔试题目的重点。以下简单实现了链表的一些操作,包括创建、增加节点、删除节点、单链表逆置、合并有序链表等。一、链表创建  链表主要有三种形式,包括单链表、双链表和循环链表。  单链表每个节点只包含一个后驱指针,双链表节点同时包含一个前驱指针和一个后驱指针,循环链表的尾节点的后驱指向头节点。  

2014-06-30 13:36:11 1035

原创 lwip-内存管理函数说明

1、mem_init()   : 内存堆初始化函数,主要设置内存堆的起始地址,以及初始化空闲列表,lwip初始化时调用,内部接口。2、void *mem_malloc(mem_size_t size)  : 申请分配内存,size为需要申请的内存字节数,返回值为最新分配的内存块的数据地址,注意不是内存块的地址。如果为分配好内存,返回NULL。申请的内存堆是全局变量。

2014-06-27 16:26:54 1966

原创 lwip—mem_init和mem_malloc详解

lwip—mem_init和mem_malloc详解

2014-06-27 09:46:59 7917 1

转载 lwip源码分析-内存管理模块

lwip源码分析Lwip,lightweight ip协议,是一个轻量级的网络协议实现,前段时间基本上搞定了,写点东西,就当是对osi模型的进一步了解吧。我将以参照源码的方式由下向上解释lwip的工作原理,有什么错误欢迎指正。首先将从lwip的内存机制说起,lwip提供了三种内存分配管理机制,一种是c语言自带的内存机制,只要编译的时候将编译选项设置MEM_LIBC_MALL

2014-06-26 19:28:55 1561

原创 LWIP -自定义内存对齐

http://capacity.blog.163.com/blog/static/20866413120125298408973/在小型嵌入式系统中,往往需要自己设立内存管理模块,而内存对齐对后面的数据存储有着很大的影响。结合LWIP协议栈介绍一个内存对齐的方式,参见下面程序:这是对齐方式为1字节#define MEM_SIZE 15#d

2014-06-26 15:58:21 3215

PCI9054入门资料

个人总结的PLX9054基本作用,即地址映射和相关寄存器的配置。总结的有问题望大家拍砖。

2012-10-05

C51入门教程

入门单片机的经典文档,非常适合初学者,教你如何学习keil。很经典

2012-04-03

cortex-m3学习笔记(STM32)

我自己总结的STM32学习笔记,主要针对ALIENTEK MiniSTM32开发板的,适合初学者

2012-02-24

空空如也

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

TA关注的人

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