随笔分类 - Quartus II
摘要:- 查阅了很多资料,无意中看到有篇文章提到,要仿真成功这个IP的话,需要以下三个Library:220model、Altera_mf,还有个最最关键的就是sgate! 另外还有一点需要注意的是,在用modelsim仿真时,在compile的时候,需要把.v、.vo和.tb这3个文件都加上才可以,否则在simulate时会提示错误。 几个简单的系统任务,$readmemb,$readmemh,$fopen,$fdisplay;基本上就可以完成对文件的读写操作。用于读写的文件必须和modelsim建好的工程放在同一个文件夹中,否则会出现打不开文件的现象,即返回的文件句柄为0.摆放位置如下图所示。一
阅读全文
摘要:Abstract在DE2版子上,除了8MB的SDRAM最大外,排名第2的就是4MB的Flash,本文討論如何在Nios II對Flash進行讀寫。Introduction使用環境:Quartus II 8.0 + Nios II EDS 8.0 +DE2(Cyclone II EP2C35F627C6)or DE2-70 (Cyclone II EP2C70F896C6N)我曾經在(原創) 如何在Nios II使用Zip File System? (IC Design) (Nios II) (DE2)與(原創) 如何讓Nios II一Power On就執行? (SOC) (Nios II) (
阅读全文
摘要:对于提高电路时钟频率的方法,最有效的无非是自己设计电路的时候尽量不要在关键路径上的一个时钟周期内做太多组合逻辑的运算,很费时的,能够几个时钟周期平摊的就平摊下;另外,写代码的时候,风格也很重要,尽量不要在关键路径上写三重门运算的,时钟速度很受影响的。做到以上两点的,如果使用FPGA实现的话,以下推荐几种提高时钟频率的方法。用于Altera公司的QuartusII9.1.当然其他版本的工具亦可借鉴。2.3.1 TimeQuest时序分析器2.3.1.1 优势使用 TimeQuest 时序分析器的优势包括:使用方便的 GUI —— TimeQuest 时序分析器提供使用方便的 GUI 以及交互式报
阅读全文
摘要:关于FPGA内部双口RAM的时序总结:1)存储时,双口ram的存储是在写时钟的上升沿到来时完成的,因此要在写时钟的上升沿到来时,数据跟写地址都已经是个稳定的状态,这样才能保证数据的正确存储。2)读数据时,双口ram的读取实在读时钟的上升沿到来时完成的,因此要在读时钟的上升沿到来时,读地址已经处于稳定的状态,这样才能保证读到的数是相应地址内的数据,数据在读时钟的上升沿到来后输出。3)对于双口ram的数据输出,对于一个地址上的数据会在读下一个地址的数据时才输出到数据线上,相当于数据的真正输出延时读时钟一个时钟。4)读地址模块的使能应延时输出使能一个时钟周期,使得第一个地址0可以保持被时钟上升沿采集
阅读全文
摘要:我们平时使用Verilog进行状态机编码时,通常使用parameter对状态名进行定义,这样写Case语句的时候就不会对这一串10摸不着头脑。可是通常这样做的话,在Modelsim里看到的还是一串10,使排错非常困难,特别是在用OneHot编码的时候,就看到一串0中间的一个1 #_# 简直要疯掉。Question: 我们可不可以像VHDL一样,在仿真的时候看到状态名字,而不仅仅是状态编码呢?答案当然是可以的拉,事在人为嘛!Solution1: 另外定义一个reg: state_name,长度根据状态名称长度而改变(状态名称字符数x8); 在每个状态执行的语句中加入state_name ...
阅读全文
摘要:Error(10028):Can't resolve multiple constant drivers for net “ ” at **.v两个进程里都有同一个条件判断的话,会产生并行信号冲突的问题。同一个信号不允许在多个进程中赋值,否则则为多驱动。进程的并行性决定了多进程不同能对同一个对象进行赋值。
阅读全文
摘要:文章转自:http://blog.csdn.net/ruby97/article/details/7348939由于仿真FIFO需要时钟资源,故使用了前一篇文章中使用的PLL模块。在仿真FIFO模块时,我使用了一个数据发生模块,参考的下面这篇文章中的源码datagene.v(可以去链接网址下载源码)数据发生模块的输入输出框图如下所示:我在Modelsim中利用了该模块进行FIFO的仿真。若对FIFO的IP核不熟悉,可以参考官方文档:http://www.altera.com/literature/ug/ug_fifo.pdf下面是具体仿真过程:首先,看一下FIFO配置:数据单元位宽:16FIF
阅读全文
摘要:FFT IP core的总体架构分析:FFT分为fixed transform size architectture 和 variable streaming architecture。variable streaming architecture下又分为radix-22和radix-4/2两种运算结构,而内部数据运算表达方式可分为fixed point ,floating point 和block floating point三种。、数据输入输出方向有可以分为natural order bit-reverse or digit-reverse 和DC centered方式。在运算时的核还可以
阅读全文
摘要:在QII11.1版本中已经没有像QII10.0之前版本的pins assignment 的选项了,取而代之的是Assignment editor和pin planner这两个工具,使用方法也比较简单(chapter 5 --->Creating Pin Assignments With the Pin Planner)。在此就不再详述.在QII中对MegaManger 生成的Megafunction IP模块进行例化,并分配引脚按照QII11.1的handbook(Volume 2 ,section2 ,Chapter 5: I/O Management)中介绍的:For more in
阅读全文
摘要:参考文章:http://www.cnblogs.com/wg2011/archive/2012/02/27/2369677.html使用Quartus II 的版本及PC机操作系统版本为11.1 sp2 WIN7 32位前言 本文档根据 ALTERA 的 FIFO user guide 《SCFIFO and DCFIFO Megafunctions》 (August 2012 Altera Corporation)一文整理而来。 本文档仅供学习、讨论使用,请勿用于商业用途。在使用该文档过程中有任何疑问请至笔者博客进行交流探讨。笔者将随时可能对本教程中的内容进行更改,恕不事先通知。--...
阅读全文
摘要:参考文章:http://blog.pfan.cn/yanyoushuai/34540.html FIFO即First in first out,也叫先入先出电路,可以实现数据先进先出的存储器件。 FIFO一般普遍用作数据缓冲器,也可以用于顺序数据的缓冲,比如音频信号或视频信号。另一个广泛的应用是在处理器之间的通讯中。FIFO的基本单元是寄存器。作为存储器件,FIFO的存储能力是由其内部定义的存储寄存器的数量决定。FIFO存储器一般以数据量的(深度,即寄存单元的个数)deepth*width(宽度,即一寄存单元的bits)的形式来说明所采用的基本结构。 第一代FIFO存储器是基于“导向”理...
阅读全文
摘要:Quartus II 11.0 套件较以往QII软件有了很大的change,在仿真器上主要体现为原有的Quartus II simulator没有了,可能是因为为减小软件体积,增强别的功能的原因,了解QII 11.0 与以往版本的区别和改进对于提高学习速度,减少不必要的疑惑是十分有用处的!一、关于Quartus II的安装关于Quartus II 10.0 以前版本,安装都大同小异,Bingo曾经写过“Quartus II 9.1的安装指南.pdf”,下载地址为http://www.chinaaet.com/lib/detail.aspx?id=86239,Quartus II 11.0的..
阅读全文
摘要:向工程中添加Megacore 文件
阅读全文
摘要:Error: Can't generate netlist output files because the file "" is an OpenCore Plus time-limited file
阅读全文
摘要:如何在QuartusII11.0中调用Questasim10.0
阅读全文