FPGA
文章平均质量分 52
sdvch
dream,vision,courage and hope--create a sunny day
展开
-
FIFO 同步、异步以及Verilog代码实现
FIFO 很重要,之前参加的各类电子公司的逻辑设计的笔试几乎都会考到。FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据, 其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。 FIFO一般用于不同时转载 2013-01-18 14:07:26 · 15063 阅读 · 4 评论 -
在Quartus中使用TCL文件分配引脚
在Quartus中可使用TCL文件分配引脚,这种方法可重用性较好。 步骤大概是,先建立并编辑TCL文件,并将其加入工程内,然后在tool->tcl script中选中相应的TCL文件,点击RUN。 用到的命令如下: -为工程创建TCL文件 projects->generat tcl file for project -直接新建TCL文件 new->tcl file原创 2013-06-05 11:32:07 · 18444 阅读 · 2 评论 -
SRAM SDRAM DRAM RAM SSRAM
DRAM,动态随机存取存储器,需要不断的刷新,才能保存数据。而且是行列地址复用的,许多都有页模式。 SRAM,静态的随机存取存储器,加电情况下,不需要刷新,数据不会丢失,而且,一般不是行列地址复用的。 SDRAM,同步的DRAM,即数据的读写需要时钟来同步。DRAM和SDRAM由于实现工艺问题,容量较SRAM大。但是读写速度不如SRAM,但是现在,SDRAM转载 2013-06-04 10:01:49 · 844 阅读 · 0 评论 -
DRAM, SRAM, SDRAM的关系与区别
DRAM,动态随机存取存储器,需要不断的刷新,才能保存数据.而且是行列地址复用的,许多都有页模式。 SRAM,静态的随机存取存储器,加电情况下,不需要刷新,数据不会丢失,而且,一般不是行列地址复用的。 SDRAM,同步的DRAM,即数据的读写需要时钟来同步。 DRAM和SDRAM由于实现工艺问题,容量较SRAM大。但是读写速度不如SRAM,但是现在,SDRAM的速度也已经很快转载 2013-06-04 10:01:09 · 981 阅读 · 0 评论 -
用ModelSim仿真SDRAM操作
之前写了两篇关于Modelsim仿真的blog,其中模块管脚的命名可能让人觉得有些奇怪,其实不然,之前的两篇内容都是为了仿真SDRAM操作做铺垫的。由于SDRAM的仿真过程相对比较复杂,也比较繁琐。故可能需要不止一篇blog来完成。在开始仿真之前,如果对SDRAM原理以及时序不是很了解的朋友,推荐看一下如下这篇文章:SDRAM-高手进阶,终极内存技术指南——完整进阶版转载 2013-05-10 09:26:29 · 1344 阅读 · 0 评论 -
如何生成mif文件
mif文件就是存储器初始化文件,即memory initialization file,用来配置RAM或ROM中的数据。生成QuartusII11.0可用的mif文件,有如下几种方式:方法1:利用Quartus自带的mif编辑器优点:对于小容量RAM可以快速方便的完成mif文件的编辑工作,不需要第三方软件的编辑;缺点:一旦数据量过大,一个一个的输入会使人崩溃;使用方法:在quart转载 2013-05-09 21:02:20 · 4603 阅读 · 2 评论 -
FPGA实现RAM--LPM_RAM
我们知道,RAM是用来在程序运行中存放随机变量的数据空间,使用时可以利用QuartusII的LPM功能实现RAM的定制。 软件环境:QuartusII 11.0 操作系统:win7实现方法一、利用LPM_RAM:1.首先准备好存储器初始化文件,即.mif文件。 该文件的生成方法见《如何生成mif文件》; 本文预先生成了一个正弦波的数据文件,TEST1.mif,可以在转载 2013-05-09 21:00:20 · 3659 阅读 · 0 评论 -
用ModelSim仿真PLL模块
由于要对FPGA读写SDRAM的工程进行调试,第一步就是验证PLL模块的功能,故结合网上找的一些资料,进行了如下PLL仿真实验。下面是仿真的全过程首先,看一下Quartus中的PLL模块:从上面图中可以看出:我的FPGA输入时钟是20MHZ,该PLL有三个输出,其中C0:5倍频,100MHZC1:1倍频,20MHZC2:5倍频,100MHZ,同时相对于C0延时2转载 2013-05-10 09:24:58 · 1184 阅读 · 0 评论 -
基于异步FIFO和PLL的雷达数据采集系统
1 引言 随着雷达系统中数字处理技术的 飞速发展,需要对雷达回波信号进行高速数据采集。在嵌入式条件下,要求获取数据的速度越来越快。精度越来越高,以致数据量及处理速度要求大增。为避免数据处理不及时,发生数据丢失,影响系统可靠性,要进一步提高系统实时性,必须研究开发高速嵌入式雷达信号采集系统。这里结合高速嵌入式数据采集系统,提出一 种基于CvcloneⅢFPGA实现的异步FIFO和锁相环(PLL转载 2013-05-09 21:06:21 · 1535 阅读 · 0 评论 -
Mif Maker2010的使用方法
1.打开软件,【文件】/【新建】;2.设置全局参数:3.生成波形: 以生成正弦波为例:【设定波形】/【正弦波】4.修改波形:【手绘波形】/【线条】,鼠标左键选择两个起点,鼠标右键结束,即可绘制任意波形。绘制完毕后,再次选择【手绘波形】/【取消手绘】,结束绘制状态;5.保存文件。转载 2013-05-09 21:03:05 · 3043 阅读 · 0 评论 -
FPGA实现基于ROM的正弦波发生器
软件环境:QuartusII 11.0 操作系统:win7 芯片型号:CycloneII EP2C5Q208C81.总体框图: 1.波形数据 第一步,是获得含有正弦波的数据的ROM初始化文件.mif,方法见《如何生成mif文件》; 此处生成的波形数据为8bit宽度,128字节深度的数据。 2.利用Quartus的LPM功能,定制一个8bit数转载 2013-05-09 21:01:12 · 14803 阅读 · 2 评论 -
异步FIFO的FPGA实现
本文大部分内容来自Clifford E. Cummings的《Simulation and Synthesis Techniques for Asynchronous FIFO Design》,同时加上一些自己的一些理解,有兴趣的朋友可以阅读原文。一、FIFO简介 FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,它与普通存储器的区别是没有外部读写地转载 2013-05-09 20:56:15 · 1002 阅读 · 0 评论 -
读写数据宽度不同的异步 FIFO 设计
1、2、3、4、5、原创 2013-05-09 16:48:36 · 3869 阅读 · 0 评论 -
用ModelSim仿真FIFO
由于仿真FIFO需要时钟资源,故使用了前一篇文章中使用的PLL模块。在仿真FIFO模块时,我使用了一个数据发生模块,参考的下面这篇文章中的源码datagene.v (可以去链接网址下载源码)数据发生模块的输入输出框图如下所示:我在Modelsim中利用了该模块进行FIFO的仿真。若对FIFO的IP核不熟悉,可以参考官方文档:http://www.altera转载 2013-02-28 12:24:46 · 2260 阅读 · 0 评论 -
异步FIFO及verilog原码_2
两篇文章的原码 //----------------------STYLE #1-------------------------- module fifo1(rdata, wfull, rempty, wdata, winc, wclk, wrst_n,rinc, rclk, rrst_n);parameter DSIZE = 8; parameter ASIZE =转载 2013-01-18 12:45:50 · 1721 阅读 · 0 评论 -
异步FIFO及verilog原码_1
这几天看了Clifford E. Cummings的两篇大作《Simulation and Synthesis Techniques for Asynchronous FIFO Design》and 《Simulation and Synthesis Techniques for Asynchronous FIFO Design with Asynchronous Pointer Comparis转载 2013-01-18 12:44:32 · 1600 阅读 · 0 评论 -
Verilog $random用法 随机数
“$random函数调用时返回一个32位的随机数,它是一个带符号的整形数...”,并给出了一个例子:_____________________________________________________EX-1: reg[23:0] rand; rand=$random%60; //产生一个在 -59—59范围的随机数——————————————————————转载 2013-06-06 11:33:56 · 87234 阅读 · 2 评论