随笔分类 -  FPGA

摘要:FPGA组成、工作原理和开发流程 备注:下面的描述基于ALTERA系列的FPGA芯片,而且是第一次学习FPGA,其中的一部分内容是参考一些资料总结的,个人独特的分析和见解还偏少。1.FPGA概述FPGA是英文FieldProgrammableGateArray的缩写,即现场可编程门阵列,它是在PAL... 阅读全文
posted @ 2014-08-13 14:54 pupil_小龙 阅读(2502) 评论(1) 推荐(0)
摘要:最近遇到个问题, 使用二位数组方式定义了一个RAM ,但是软件每次 都是使用逻辑单元综合 这块memory ,在ALTERA的网页上 找到了 方法,,在定义的 memory前面加一句画 (* ramstyle = "M4K" *) reg [0:7] my_ram[0:63]; 具体 详情 访问 http://quartushelp.altera.com/13.1/mergedProjects/hdl/vlog/vlog_file_dir_ram.htm 阅读全文
posted @ 2014-01-14 21:53 pupil_小龙 阅读(1925) 评论(0) 推荐(0)
摘要:在数字电路中,出于应用的需要,我们可以使用无符号数,即包括0及整数的集合;也可以使用有符号数,即包括0和正负数的集合。在更加复杂的系统中,也许这两种类型的数,我们都会用到。有符号数通常以2的补码形式来表示。图1列出了4位二进制表示法所对应正负数。进一步观察,我们发现两种类型数的加减法是一样的,做加法和减法就是 在数轮上按正时钟转转或按反时钟转。比方说,1001+0100,意味着从1001按照顺时钟方向移动4个位置,其结果为1101。在无符号数类型中,它 代表(+9)+(+4)=+13;而在有符号数类型中,它则代表(-7)+(+4)=-3。从数轮上看,若是加法所得的结果溢出了,那么也就是穿越了数 阅读全文
posted @ 2013-12-19 13:11 pupil_小龙 阅读(6579) 评论(0) 推荐(0)
摘要:1)之前的笔记写过《补码探讨》,可知在FPGA综合成电路的时候最底层都是以补码的形式在运算,正数的补码就是本身,负数的补码要取反+1。(2)那么Verilog中编程的时候对编程人员来说,其实想不到现在的编译器(Quartus II 9.1和ISE10.1没有问题,更高的版本应该更加可以了)都支持verilog有符号运算的综合了。在定义时直接加上signed即可,如下: input signed [7:0] a, b; output signed [15:0] c; wire signed [15:0] x; reg signed [15:0]y; 很明显,这种采用signed... 阅读全文
posted @ 2013-12-19 11:28 pupil_小龙 阅读(6654) 评论(0) 推荐(0)
摘要:正文此处以Quartus II 11.1和Notepad++ v5.9.6.2为例。1. 使用QII自动调用Notepad++来打开HDL、sdc、txt等文件;并且可以在报错的时候,Notepad++可以直接高亮所报错的行(此模式下,Notepad++最大化后效果最佳)。方法:QII > Tools > Options… > General > Preferred Text Editor,按下图设置即可。图1其中%f用于指定文件名,%l用于指定相应的行数;-n是Notepad++的选项,功能是高亮至某行。2. 开启Notepad++的自动补全功能。方法:N++ > 阅读全文
posted @ 2013-12-09 13:26 pupil_小龙 阅读(1093) 评论(0) 推荐(0)
摘要:静态时序分析SAT1. 背景 静态时序分析的前提就是设计者先提出要求,然后时序分析工具才会根据特定的时序模型进行分析,给出正确是时序报告。 进行静态时序分析,主要目的就是为了提高系统工作主频以及增加系统的稳定性。对很多数字电路设计来说,提高工作频率非常重要,因为高工作频率意味着高处理能力。通过附加约束可以控制逻辑的综合、映射、布局和布线,以减小逻辑和布线延时,从而提高工作频率。2. 理论分析 2.1 固定参数launch edge、latch edge、Tsu、Th、Tco概念2.1.1 launch edge 时序分析起点(launch edge):第一级寄存器数据变化的时钟边沿,也是静.. 阅读全文
posted @ 2013-09-30 12:10 pupil_小龙 阅读(1217) 评论(0) 推荐(0)
摘要:SDRAM相位角计算下面是我复制别人的没有图片 如果想看原文 点击下面链接,,http://wenku.baidu.com/view/91e2d76a27284b73f24250e6.html一、芯片说明:FPGA芯片:EP3C55F484I7SDRAM芯片:MT48LC16M16A2二、计算需要参数获取:1、SDRAM参数获取方法及参数说明:SDRAM的参数获取均来自该芯片的数据手册,该数据手册可以到datasheet5.com网站上下载。上图是SDRAM的数据手册中的截图,该sdram型号需要的都用黄色标识标记。其中:TDS=1.5 输入数据建立时间TDH=0.8 输入采样保持时间THZ= 阅读全文
posted @ 2013-06-30 20:18 pupil_小龙 阅读(1739) 评论(0) 推荐(0)
摘要:FPGA时序约束的几种方法 对自己的设计的实现方式越了解,对自己的设计的时序要求越了解,对目标器件的资源分布和结构越了解,对EDA工具执行约束的效果越了解,那么对设计的时序约束目标就会越清晰,相应地,设计的时序收敛过程就会更可控。riple 从最近一段时间工作和学习的成果中,我总结了如下几种进行时序约束的方法。按照从易到难的顺序排列如下:riple0. 核心频率约束 这是最基本的,所以标号为0。riple1. 核心频率约束+时序例外约束 时序例外约束包括FalsePath、MulticyclePath、MaxDelay、MinDelay。但这还不是最完整的时序约束。如果仅有这些约束的话,说明设 阅读全文
posted @ 2013-06-30 16:48 pupil_小龙 阅读(474) 评论(0) 推荐(0)
摘要:CycloneIII中LVDS的设计一,概述LVDS低压差分信号,最早由美国国家半导体公司提出的一种高速串行信号传输电平,由于它传输速度快,功耗低,抗干扰能力强,传输距离远,易于匹配等优点,迅速得到诸多芯片制造厂商和应用商的青睐,并通过TIA/EIA的确认,成为该组织的标准(ANSI/TIA/EIA-644standard)。LVDS信号被广泛应用于计算机、通信以及消费电子领域,并被以PCI-Express为代表的第三代I/O标准中采用。 LVDS信号的电压摆幅只有350MV,为电流驱动的差分信号方式工作,最长的传输距离可以达到10米以上。为了确保信号在传输线当中传播时,不受反射信号的影响,. 阅读全文
posted @ 2013-05-05 17:56 pupil_小龙 阅读(3235) 评论(0) 推荐(0)
摘要:关于FPGA学习的几个问题作者:李秋凤,华清远见嵌入式学院FPGA讲师如何学好FPGA呢,很多人很困惑,多数停留在基础位置徘徊,我就这方面问题给大家谈几点自己的看法。1. 基础问题FPGA的基础就是数字电路和HDL语言,想学好FPGA的人,建议床头都有一本数字电路的书,不管是那个版本的,这个是基础,多了解也有助于形成硬件设计的思想。在语言方面,建议初学者学习Verilog语言,VHDL语言语法规范严格,调试起来很慢,Verilog语言容易上手,而且,一般大型企业都是用Verilog语言。2. EDA工具问题熟悉几个常用的就可以的,开发环境QuartusII ,或ISE 就可以了,这两个基本是相 阅读全文
posted @ 2013-05-05 17:11 pupil_小龙 阅读(442) 评论(0) 推荐(0)
摘要:问题:在NIOS II进行Build project时出现类似于makefile:xxx: Warning: SOPC File E:/NIOS/xxx/xxx.sopcinfo could not be found.的警告时, 这主要是软件找不到BSP了。在移动Eclipse创建的工程时就会出现上述问题。此时可用BSP editor进行修改BSP设置,具体操作如下。---------------------------------------------------------------------------------------解决方法:1、在工程上,右键点击BSP——>NIO 阅读全文
posted @ 2013-03-19 10:31 pupil_小龙 阅读(1404) 评论(0) 推荐(0)
摘要:altera FPGA 芯片支持JTAG在线下载方式和AS下载方式。JTAG下载方式,程序之际烧写到FPGA芯片,JTAG下载完成后直接运行。AS下载方式,可以执行代码直接烧写到FPGA配置芯片。在上电初始后,FPGA芯片直接从配置芯片读写可以执行代码配置FPGA芯片,然后运行。在实际应用下载电路时,经常碰到下面的问题。JTAG下载后程序不运行。或JTAG不能下载;AS不能下载或AS能下载但下载后程序不运行。分析上面的问题,首先研究搞懂JTAG下载到FPGA原理。 JTAG接口是一个业界标准,主要用于芯片测试等功能,使用IEEE Std 1149.1联合边界扫描接口引脚,支持JAM STAPL 阅读全文
posted @ 2013-03-12 23:02 pupil_小龙 阅读(12313) 评论(1) 推荐(0)
摘要:在使用Altera的FPGA时候,由于系统需求,需要在管脚的内部加上上拉电阻。Quartus II软件中在Assignment Editor中可以设置。具体过程如下:1. 在菜单Assignments中选择Assignment Editor.2. 在弹出的界面里选择I/O Features.找到Node.3. 选择Node Finder选项后弹出如下界面首先点击List 按钮,这里可以根据需求,列出仅仅需要加弱上拉的管脚.或者把所有的管脚都找到.4. 把需要加上拉电阻的管脚加上弱上拉约束.方法参见下图说明.5. 完成后保存设置即可. 阅读全文
posted @ 2013-03-04 00:39 pupil_小龙 阅读(2074) 评论(0) 推荐(0)
摘要:用户I/O:通用输入输出引脚。配置管脚:MSEL[1:0] 用于选择配置模式,比如AS、PS等。DATA0 FPGA串行数据输入,连接到配置器件的串行数据输出管脚。DCLK FPGA串行时钟输出,为配置器件提供串行时钟。nCSO(I/O)FPGA片选信号输出,连接到配置器件的nCS管脚。ASDO(I/O)FPGA串行数据输出,连接到配置器件的ASDI管脚。nCEO 下载链期间始能输出。在一条下载链中,当第一个器件配置完成后,此信号将始能下一个器件开始进行配置。下载链上最后一个器件的nCEO悬空。nCE 下载链器件始能输入,连接到上一个器件的nCEO,下载链的最后一个器件nCE接地。nCNFIG 阅读全文
posted @ 2013-01-25 13:27 pupil_小龙 阅读(11960) 评论(1) 推荐(0)
摘要:Modelsim之 DO文件简介 网上的关于DO文件的编写好像资料不多,比较杂,所以本人总结一下常用的简单语法,方便大家查看。其实本人也刚接触DO文件没多久,有纰漏很正常,欢迎指正批评,互相学习。PS:写得有点乱 还有一个值得注意的是 我在看到这篇文章的时候我正在仿真一个verilog文件,文件中调用了一个ROM , 但是我怎么仿真 rom的输出文件都有问题, 经过一个QQ好友的指点,我发现竟然是我 QUARTUS 下考过来的库文件 有问题, 自此提醒遇到过此问题 但还没有解决的同学。。一.DO文件的简介和工作方式DO文件是一次执行多条命令的脚本。这个脚本可以像带有相关参数的一系列ModelS 阅读全文
posted @ 2013-01-14 13:34 pupil_小龙 阅读(19860) 评论(0) 推荐(3)
摘要:ALTERA 产品型号命名XXXXXXXXXXX X1234 56 7工艺 + 型号 + LE数量 + 封装 + 管脚数目+ 温度范围 + 器件速度。1.前缀: EP 典型器件EPC 组成的EPROM 器件EPF FLEX 10K 或FLFX 6000 系列、FLFX 8000 系列EPM MAX5000 系列、MAX7000 系列、MAX9000 系列EPX 快闪逻辑器件2.器件型号3. LE数量: XX(k)4.封装形式:D 陶瓷双列直插 Q 塑料四面引线扁平封装P 塑料双列直插 R 功率四面引线扁平封装S 塑料微型封装 T 薄型J 形引线芯片载体J 陶瓷J 形引线芯片载体 W 陶瓷四面引 阅读全文
posted @ 2012-11-11 13:33 pupil_小龙 阅读(394) 评论(0) 推荐(0)