FPGA
文章平均质量分 70
stubben_bear
这个作者很懒,什么都没留下…
展开
-
[转帖] VGA接口简述
我们都知道 FPGA之所以功能强大,很重要的一个原因就是他的接口非常的丰富,本人了解vga接口就是从FPGA设计中开始,比如我们要做一些简单的工程类似图像的显示,复杂一点的类似视频显示都要用到VGA接口。 这里对VGA接口做一个简述,帮助对这个接口没有一个整体概念的朋友加深一定的了解不知大家有没有注意到,在使用VGA接口的时候,通常RGB三根线上都会接上各种各样大小的电阻,这是原创 2013-10-06 12:37:31 · 1792 阅读 · 0 评论 -
[转载] Xilinx FPGA用户约束文件
FPGA设计中的约束文件有3类:用户设计文件(.UCF文件)、网表约束文件(.NCF文件)以及物理约束文件(.PCF文件),可以完成时序约束、管 脚约束以及区域约束。3类约束文件的关系为:用户在设计输入阶段编写UCF文件,然后UCF文件和设计综合后生成NCF文件,最后再经过实现后生成PCF 文件。UCF文件是ASC 2码文件,描述了逻辑设计的约束,可以用文本编辑器和Xilinx约束文件编辑器进行编原创 2013-12-30 19:36:49 · 2802 阅读 · 0 评论 -
【非常经典】FPGA三国志 [转载]
Altera VS Xilinx 谁更强 ?原创 2013-12-30 19:55:50 · 5701 阅读 · 0 评论 -
verilog编写数字频率计
一个简易的数字频率计主要由一个分频器和计数器构成 ,它的本原理就是计算 1 秒钟内被测时钟上升沿的个数即作它的频率值。 1. 分频器的作用是由 fpga 时钟得到我们想要的时钟 ,这里假设 fpga 的晶振为 50Mhz ,那么为了得到高电平为 1 秒钟的时钟信号 ,就需要对输入的 clk 进行 25000000倍分频 得到一个频率为 2Hz 占空比50 %的使能信号记为 en 。原创 2014-02-21 18:35:42 · 26533 阅读 · 8 评论 -
占空比为50%的奇数分频器的设计
占空比为50%的奇数分频器设计思路 1. 首先进行上升沿触发的N模计数,计数器从零开始,到 (N-1)/2 处时钟翻转,然后经过 (N+1)/2再次翻转 得到一个占空比非50%的输出时钟out1. 2. 同时进行下降沿触发的N模计数,计数方法同上升沿相同,然后得到一个占空比非50%的输出时钟out原创 2013-09-05 19:39:00 · 9812 阅读 · 2 评论 -
基于FPGA的数字频率计(设计全过程)
小序: 前几天看历年全国大学生电子设计竞赛历年试题,无意间发现了一道题目《简易数字频率计》,跟之前我用verilog写的一个频率计差不多,于是想尝试做一下,题目具体要求如下图中所示,我所用的开发板为 xilinx spartan 3ES, 最后结果还算理想,在要求的范围内的频率测量精度比较高,但是由于板子的限制没能实现脉冲宽度测量等功能,但是其原理比较简单,下文中将会给出设计原创 2014-04-30 20:59:51 · 27524 阅读 · 4 评论 -
状态机的应用之序列检测器的实现与仿真
序列检测器的作用就是将一个指定的序列从一个数字码流中提取出来,本例将设计一个' 10010 ’序列检测器,data为输入的数字码流,data_in 为每过一个时钟所提取到的data中的一个值。本设计用到了一个简单的 Moore状态机,八个状态分为空闲 Idle 和k1~k7,为了方便用手绘了该状态机的状态转换图,还算比较清楚吧(- ,-) , 其中输入A对应程序中的data_in ,当状态st原创 2013-12-03 20:40:24 · 7422 阅读 · 1 评论 -
基于FPGA的简易数字时钟
基于FPGA的可显示数字时钟,设计思路为自底向上,包括三个子模块:时钟模块,进制转换模块,led显示模块。所用到的FPGA晶振频率为50Mhz,首先利用它得到1hz的时钟然后然后得到时钟模块,把时钟模块输出的时、分、秒输入到进制转换模块后得到十进制的值再输入到led显示模块,该工程已经在FPGA开发板上亲测可用。原创 2014-07-15 09:25:53 · 25484 阅读 · 7 评论 -
CRC校验码的verilog实现与仿真结果
循环冗余校验码(CRC)的基本原理是: 将被处理的报文比特序列当做一个二进制多项式A(x)的系数,(任意一个由二进制位串组成的代码都可以和一个系数仅为‘0’和‘1’取值的多项式一一对应。例如:代码1010111对应的多项式为x6+x4+x2+x+1,而多项式为x5+x3+x2+x+1对应的代码101111),该系数乘以2^n(n为生成多项式g(x)中x的最高次幂)以后再除以发送方和原创 2014-05-22 16:27:14 · 24360 阅读 · 8 评论 -
串口收发数据时字符、十六进制、二进制格式详细区分
在使用串口调试助手时发送和接收数据都是以字节 (Byte) 为单位,并且可以选择字符、十六进制、二进制三种收发格式 ,那么这三种格式究竟怎样区分呢? 首先我们来明确一个概念 :串口收发数据的单位 '' 字节 (Byte) '' , 1Byte = 8 bits , 串口收发数据格式一般为 1bit起始位(一般为0) + 8bits 数据位(一字节) +1bit校验位(可有原创 2014-08-02 11:10:35 · 22044 阅读 · 0 评论 -
[转帖]单口RAM、伪双口RAM、双口RAM与FIFO的区别
FPGA设计中,常用到的数据缓存IP有FIFO和RAM,其中RAM又分单口RAM、伪双口RAM、双口RAM。 单口与双口的区别在于,单口只有一组数据线与地址线,因此读写不能同时进行。而双口有两组数据线与地址线,读写可同时进行。FIFO读写可同时进行,可以看作是双口。 双口RAM分伪双口RAM(Xilinx称为Simple two-dual RAM)原创 2013-12-11 18:29:03 · 3570 阅读 · 0 评论 -
[转载]I2C总线协议详解
I2C总线定义 I2C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。可随时监控内存、硬盘、网原创 2013-12-03 21:23:02 · 1931 阅读 · 0 评论 -
串并装换器的设计及仿真结果
串/并转换是高速数据流处理的重要技巧之一。串/并转换的实现方法多种多样,根据数据的的顺序和数量要求,可以选用寄存器,双扣RAM,SRAM,FIFO,等实现。对于数量比较小的设计可以采用移位寄存器完成串/并转换。 在工程中,如何体现串/并转换的设计思想呢? 怎样才能提高系统的处理速度呢 ? 一个简单的串/并转换框架如下图所示,串行输入的数据通过FPGA内部的 n 个移原创 2013-12-09 14:30:28 · 2106 阅读 · 0 评论 -
[转载] ARM FPGA DSP 的特点和不同
ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有原创 2013-10-13 19:17:38 · 1221 阅读 · 0 评论 -
[转帖] verilog开发经验杂谈
规范很重要 工作过的朋友肯定知道,公司里是很强调规范的,特别是对于大的设计(无论软件还是硬件),不按照规范走几乎是不可实现的。逻辑设计也是这样:如果不按规范做的话,过一个月后调试时发现有错,回头再看自己写的代码,估计很多信号功能都忘了,更不要说检错了;如果一个项目做了一半一个人走了,接班的估计得从头开始设计;如果需要在原来的版本基础上增加新功能,很可能也得从头来原创 2013-10-13 19:22:06 · 1754 阅读 · 0 评论 -
[转帖]FPGA经验教训杂谈
做FPGA设计的工作也有一段时间了,有过问题迎刃而解的快乐,也有过苦苦寻求结果和答案的痛苦历程.现在就把我个人曾经在项目中经常遇到的问题和犯的错误总结一下.希望对大家有启示和帮助:1)FPGA和其他电路的接口部分的时序要处理好,要考虑到信号进入FPGA之前的线路延迟.要想清楚进入FPGA的数据和时钟的相位关系.2) 若FPGA设计中,有全数字锁相环,那么要用示波器测试一下全数字锁相原创 2013-11-22 10:00:15 · 1135 阅读 · 0 评论 -
[转帖] FIFO 详解
FIFO:(First Input First Output,先入先出队列)这是一种传统的按序执行方法,先进入的指令先完成并引退,跟着才执行第二条指令。1.什么是FIFO?FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据,其数据地址由原创 2013-11-22 10:07:13 · 1409 阅读 · 0 评论 -
寄存器,锁存器,触发器,储存器 区分
寄存器 锁存器 触发器 储存器区分原创 2013-11-22 11:11:52 · 2598 阅读 · 0 评论 -
fpga驱动1602液晶显示字符
对于每个FPGA初学者而言,1602液晶是必修的一课,它较数码管的优点就是它可以显示字符,而且显得更加专业,漂亮。所谓1602指的是液晶的显示格式为16*2,即可以显示2行,16列字符。目前市场上的1602有蓝色背光和绿色背光两种,本人觉得蓝色的更加高端大气上档次。 字符型LCD1602通常有14条或者16条引脚线,多出来的两条是背光电源线VCC和地线GND,其控制原理原创 2013-10-06 12:21:44 · 6753 阅读 · 0 评论 -
[转帖] DLL与PLL同为锁相环的区别
PLL与DLL区分原创 2013-11-25 14:19:49 · 2484 阅读 · 0 评论 -
深入理解 ROM , RAM , FLASH
目前大多数FPGA都有内嵌的块RAM(Block RAM),可以将其灵活地配置成单端口RAM(DPRAM,Single Port RAM)、双端口RAM(DPRAM,Double Ports RAM)、伪双端口RAM(Pseudo DPRAM)、CAM(Content Addressable Memory)、FIFO等常用存储结构。FPGA中其实并没有专用的ROM硬件资源,实现ROM的思路是对RA原创 2013-10-11 16:52:50 · 1375 阅读 · 0 评论 -
同步 FIFO 实列及仿真结果
FIFO设计实列原创 2013-11-26 13:55:25 · 2077 阅读 · 0 评论 -
利用verilog将二进制码转换为十进制BCD码
小序: 先说一个 bear 的亲身体会,bear 在做一些 fpga 小设计时经常会用到数据显示功能,比如数字时钟,数字频率计,温度计,跑表等等,往往我们会选用 led 数码管来做显示, 因为它驱动起来比 lcd 液晶要简单的很多,我们知道 fpga 中寄存器在定义和储存的数据都是采用二进制的格式 ,而 fpga 输出给数码 管做显示原创 2014-02-20 10:54:17 · 60137 阅读 · 22 评论