
FPGA
文章平均质量分 66
qq_30866297
这个作者很懒,什么都没留下…
展开
-
FPGA第五篇:一些ISE使用方法上的小结
1、如何将Notepad++与ISE关联原创 2016-04-25 19:50:54 · 1190 阅读 · 0 评论 -
NAND FLASH (二)NAND FLASH的坏块
1.为什么会出现坏块 由于NAND Flash的工艺不能保证NAND的Memory Array在其生命周期中保持性能的可靠,因此,在NAND的生产中及使用过程中会产生坏块。坏块的特性是:当编程/擦除这个块时,不能将某些位拉高,这 会造成Page Program和Block Erase操作时的错误,相应地反映到Status Register的相应位。2.坏块的分类 总体上,坏块可转载 2016-08-03 15:31:05 · 1672 阅读 · 0 评论 -
NAND FLASH (一)存储布局及存储操作特点
Nand flash芯片型号为Samsung K9F1208U0B,数据存储容量为64MB,采用块页式存储管理。8个I/O引脚充当数据、地址、命令的复用端口。一、芯片内部存储布局: 一片Nand flash为一个设备(device), 其数据存储分层为: 1 (Device) = 4096 (Blocks) 1 (Block) -= 32 (P转载 2016-08-03 15:19:25 · 2524 阅读 · 0 评论 -
NAND FLASH (三)硬件ECC校验码详解
ECC的全称是Error Checking and Correction,是一种用于Nand的差错检测和修正算法。如果操作时序和电路稳定性不存在问题的话,NAND Flash出错的时候一般不会造成整个Block或是Page不能读取或是全部出错,而是整个Page(例如512Bytes)中只有一个或几个bit出错。ECC能纠正1个比特错误和检测2个比特错误,而且计算速度很快,但对1比特以上的错误无转载 2016-08-03 16:32:26 · 18459 阅读 · 1 评论 -
锁相环PLL(一)Xilinx PLL IP核使用方法
新建IP核文件 如图所示,在“Design à Implementation”下的任意空白处单击鼠标右键,弹出菜单中选择“New Source …”。 在弹出的“New Source Wizard à Select Source Type”下,如图所示,选择文件类型为“IP (CORE Generator & Architecture转载 2016-08-29 17:45:17 · 29351 阅读 · 2 评论 -
保持时间与建立时间
保持时间和建立时间----------我的个人见解 在描述保持时间和建立时间之前我们首先需要了解为什么需要保持时间和建立时间,通俗的说就是在时钟信号来临之前,传输给寄存器的信号必须保持稳定,有效,才可以打入触发器,称为建立时间;时钟沿来了之后,信号必须维持稳定一段时间,使得信号能够正确被打入触发器; 下面我们就经典的D触发器来解转载 2016-08-08 22:07:58 · 3008 阅读 · 0 评论 -
二进制补码
转载地址:整数二进制补码的数学原理(two's complement)最近重新学习CPU体系结构,对使用二进制补码原理来消除带符号数和无符号数计算差异,以及整合减法运算器到加法运算器,从而简化CPU硬件设计的原理很感兴趣,所以特地思考了下,查看了一些网上关于two's complement的文章,但大部分还是太过学术,经过整理,我想以一种比较简洁的方式表达出来。为了简单起见,我使用了4位字转载 2016-09-12 16:26:04 · 1024 阅读 · 0 评论 -
SATA I, SATA II, SATA III区别
1.简介SATA即Serial ATA,为串行接口。SATA I为版本为1.x接口,即第一代SATA接口,总线最大传输带宽为1.5Gb/S;SATA II为版本为2.x接口,即第二代SATA接口,总线最大传输带宽为3.0Gb/S;SATA III为版本为3.x接口,即第三代SATA接口,总线最大传输带宽为6.0Gb/S。2. 兼容性Seria转载 2016-08-13 14:18:12 · 6441 阅读 · 0 评论 -
SAR ADC基本原理
SAR原理框图:组成:比较器、逐次比较寄存器、D/A转换器、数据寄存器、控制电路。原理简析:首先逐次比较寄存器最高位置1,指示D/A转换器输出对应电压到比较器反相端与Vi比较,如果Vi大于该电压,则比较器输出为1,逐次比较寄存器采样到1保存最高位为1,反之为0。依次比较直到最后一位,届时所存数据并输出。特点:从原理分析容易看出,该种ADC是一位一位比较,则每个时钟周转载 2016-09-05 09:35:21 · 17703 阅读 · 1 评论 -
单口RAM、双口RAM、FIFO
单口与双口的区别在于,单口只有一组数据线与地址线,因此读写不能同时进行。而双口有两组数据线与地址线,读写可同时进行。FIFO读写可同时进行,可以看作是双口。 双口RAM分伪双口RAM(Xilinx称为Simple two-dual RAM)与双口RAM(Xilinx称为true two-dual RAM)。伪双口RAM,一个端口只读,另一个端口只写;而双口RAM两个端口都可以读写。转载 2016-08-26 15:35:04 · 19355 阅读 · 0 评论 -
XILINX之RAM使用指南(加个人总结)
XILINX之RAM使用指南(加个人总结)一、 RAM 分类XILINX 的 RAM 可分为三种,分别是:单口 RAM,简化双口 RAM 和真双口 RAM。如下 图所示: 图1 单口 RAM 图2 简化双口 RAM A 口写入数据,B 口读数据图3 真双口 RAM A,B 任意一个口都可以读写数据,可从 A 写入,B 读数据 二、选择数据位宽和深原创 2016-08-26 15:44:35 · 16945 阅读 · 2 评论 -
生成和导入Xilinx ROM/RAM的初始化文件.COE(ZT)
这里比较关键,要导入ROM的值。在LOAD INIT FILE 项上打勾,点击LOAD FILE……出现下图,要你选择一个文件。 这个文件就是你要放在ROM中的数据,文件的后缀名是.COE。你可以自己建一个空的文本文件,然后把后缀名该为.COE即可。文件内容的格式如下:MEMORY_INITIALIZATION_RADIX=10;MEMORY_INITIALIZATION_转载 2016-08-26 17:01:56 · 27164 阅读 · 1 评论 -
ISE中ROM初始化文件(.coe)的建立
UltraEdit 对于ROM模块,主要是生成相应的.coe文件。1.在Matlab中生成正余弦波形的浮点值,并量化为16bit定点波形数值:% 生成 ROM 的 .coe文件clcclear allclose all x = linspace(0, pi/2 ,1024); % 在区间[0,2pi]之间等间隔地取10转载 2016-08-26 17:05:13 · 10224 阅读 · 2 评论 -
verilog全局变量和局部变量定义
1、局部变量定义(parameter)声明:parameter xx = 8; (注意有等号,且后面有分号)使用:xx作用域:parameter 作用于声明的那个文件。另外parameter可以用作例化时的参数传递。具体方法参见《Verilog例化时的参数传递》一文 2.全局变量定义(`define )(注意撇号来自键盘左上方破浪线那个键,不是单引号转载 2016-06-17 17:28:56 · 23838 阅读 · 0 评论 -
按键消抖
参考博客:(1)按键消抖之终极解决方案(2)浅谈按键消抖上一篇博客解决的是理想状态下对于按键的检测,并没有充分考虑到前沿抖动和后延抖动。如何消抖呢?通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现象而作的措施就是按键原创 2016-06-16 10:52:00 · 7313 阅读 · 0 评论 -
RS触发器工作原理
这是FPGA中的一个基本部件,我需要对其有所了解。分为六个部分:1、电路的构成2、两个稳态3、触发翻转4、真值表5、基本RS触发器的翻转时间6、状态转移图1、电路的构成 基本RS触发器是由两个与非门,按正反馈方式闭合而成,也可以用两个或非门按正反馈方式闭合而成。图(a)是习惯画法,图(b)原创 2016-06-16 11:45:26 · 61893 阅读 · 4 评论 -
FPGA第六篇:Verilog语法的基本概念
Verilog语法的基本概念原创 2016-04-25 22:26:26 · 2520 阅读 · 0 评论 -
FPGA第七篇:模块的结构、数据类型、变量和基本运算符
第三章《模块的结构、数据类型、变量和基本运算符》概念:1、Verilog程序包含几个部分?(1)端口定义 (2)I/O说明 (3)内部信号声明 (4)功能定义2、模块的接口描述将端口定义、I/O说明、类型说明在module block(端口1,...,端口n)一句话里面说明清楚。3、功能描述(1)assign:持续赋值语句,组合逻辑,阻塞赋值(2)用实例元件:要求原创 2016-04-26 16:35:49 · 3234 阅读 · 0 评论 -
FPGA第九篇:vivado、ISE、quartus ii与notepad++的关联
我已经用惯了notepad++编写Verilog代码,很喜欢这款编辑器,功能真的非常强大。所以,当需要对vivado、ISE或quartus ii中的工程进行Verilog代码上的编写或修改时,只需双击工程中的设计模块便可以在notepad++上工作。不过,在此之前要将notepad++与FPGA应用设计工具进行关联转载 2016-05-05 14:56:40 · 16281 阅读 · 1 评论 -
FPGA第四篇:异步串口的实现
本文要搞清楚两个问题:(1)异步串口通信的原理及通信协议(2)用verilog实现UART并仿真原创 2016-04-21 20:54:25 · 18752 阅读 · 0 评论 -
FPGA第八篇:运算符、赋值语句和结构说明语句
运算符、赋值语句和结构说明语句原创 2016-05-03 19:55:47 · 4965 阅读 · 0 评论 -
FPGA第零篇:我的FPGA开发之旅
终于来到了一个自己真心喜欢的团队,我喜欢大家的眼神,充满求知,我看大家时丝毫不觉得眼睛累。希望好好表现,通过是试用期。立志成为一名合格的工程师。原创 2016-04-20 00:17:42 · 1818 阅读 · 0 评论 -
FPGA第一篇:SRAM工作原理
大部分FPGA器件采用了查找表(Look Up Table,LUT)结构。查找表的原理类似于ROM,其物理结构是静态存储器(SRAM),N个输入项的逻辑函数可以由一个2^N位容量的SRAM实现,函数值存放在SRAM中,SRAM的地址线起输入线的作用,地址即输入变量值,SRAM的输出为逻辑函数值,由连线开关实现与其他功能块的连接。关键词:查找表(LUT)、ROM原理、SRAM的物理结构、输入项、函数值、SRAM的地址线、存储原创 2016-04-20 10:14:06 · 38376 阅读 · 4 评论 -
FPGA第十篇:RS422电气标准、通信协议及实现(1)
RS422电气标准原创 2016-05-24 17:46:38 · 45008 阅读 · 1 评论 -
FPGA第二篇:查找表结构(LUT)
这篇博客为了阐明以下原理:(1)任何组合逻辑电路均可化为”与或“表达式,用”与门-或门“二级电路实现,而任何时序电路又都是组合电路加上存储单元(触发器)构成。因此,从原理上说,与或阵列加上触发器的结构就可以实现任意的数字逻辑电路。(2)查找表的物理结构是SRAM,原理类似于ROM;(3)N个输入项的逻辑函数可以由一个2^N为容量的SRAM来实现;(4)N个输入的查找表可以实现任意N个输入变量的组合逻辑函数。原创 2016-04-20 15:14:57 · 22784 阅读 · 5 评论 -
FPGA第三篇:加法器
本文要搞清楚一下问题:(1)半加器、全加器的概念和实现(2)多位加法器减法器的设计与实现(3)行波进位加法器和超前进位加法器转载 2016-04-21 16:08:59 · 23185 阅读 · 2 评论 -
位同步
一、几个概念的区分对于基本概念的认识是非常重要的,比如说:码元、比特、波特、帧,以及由此产生的码元速率、比特率、波特率,还有位同步(比特同步)、帧同步等等信息。1、码元和码元速率一个数字脉冲称为一个码元。如字母A的ASCII码是1000001,可用7个脉冲来表示,亦可认为由7个码元组成。码元速率表示单位时间内信号波形的变换次数,即通过信道传输的码元个数。2、比特和比特率原创 2016-06-24 09:49:53 · 13964 阅读 · 0 评论 -
Verilog实现同步整形电路的原理及代码解析
问题来源:今天在编写RS-232串口的时候,涉及到按键处理逻辑模块,需要将“”在板子上按键”这一动作转化为一个脉冲信号。这一过程是通过同步整形电路实现的,精确表述如下:将外部输入的异步信号进行同步处理(与系统时钟同步)和整形(将输入信号由不规则波形提取为具备一个或多个时钟周期长得脉冲信号)。源代码有关片段如下:reg [2:0] bv1;wire bv1_posedge;a原创 2016-06-15 10:50:02 · 3756 阅读 · 1 评论 -
Xilinx FPGA ChipScope的ICON/ILA/VIO核使用
使用ChipScope有两种方式:第一种,使用CoreInsert,可参考下面链接: http://blog.youkuaiyun.com/rill_zhen/article/details/8115756 http://www.eefocus.com/article/08-11/57630s.html这种方法可以快速的使用ICON和ILA核,以及ATC2核,而且不必修改原代码转载 2016-09-20 20:45:30 · 7542 阅读 · 0 评论