摘要: 转眼见,已经毕业6年了,之前是为了记录知识,感想/心得才注册的博客,这几年很忙,,,,忙的都没有时间写博客了,这样的理由,我自己真心不能接受... 时间久了,很多东西都会忘记,只有记忆下来的最是最真实的, 以后都经常更新,不是为了点击率,而是为了更好的记录自己的时间,不断自省,鞭策自己。 阅读全文
posted @ 2016-06-03 22:28 nucfrank_blog 阅读(187) 评论(0) 推荐(0)
摘要: 一、Xilinx器件全局时钟资源的硬件原语 全局时钟资源一般使用了特殊的加工工艺,并且设计了专用时钟缓冲器,从而使得全局时钟到芯片内部的所有可配置逻辑单元、I/O等的延时和抖动最小。长线资源,它分布在芯片的行、列bank中,它的长度和驱动能力仅次于全局时钟资源,所以也叫第二全局时钟资源,长线资源一般比全局时钟资源丰富许多。常用的Xilinx全局时钟资源包括IBUFG、IBUFGDS、BUFG、BUFGCE、DCM等(1) IBUFG,即就是输入全局缓冲器,是与专用时钟管脚相连接的全局缓冲器,所有从全局时钟管脚输入的信号都必须经过IBUFG单元,否则在ISE布局布线的时候会报错。IBUFG支持. 阅读全文
posted @ 2012-04-12 11:21 nucfrank_blog 阅读(1796) 评论(0) 推荐(0)
摘要: 使用逻辑分析仪时如何防止reg_wire型信号被优化掉 随着FPGA设计复杂程度越来越高,芯片内部逻辑分析功能显得越来越重要。硬件层次上的逻辑分析仪价格十分昂贵,而且操作比较复杂。目前,FPGA芯片的两大供应商都为自己的FPGA芯片提供了软件层面上的逻辑分析仪,可以帮助我们在线分析芯片内部逻辑。而且操作简单方便。但是往往因为某些原因,有些信号在综合的时候就会被优化掉,就可能会导致我们的设计失败,当然在为逻辑分析仪添加观察信号的时候也无法找到该信号。从而对设计、调试人员的工作带来一定的不便。下面就分别以Xilinx公司的逻辑分析仪ChipScope和Altera公司的SignalTap做以下总结 阅读全文
posted @ 2012-04-12 11:14 nucfrank_blog 阅读(3054) 评论(0) 推荐(1)
摘要: Xilinx FPGA的约束设计和时序分析总结 在进行FPGA的设计时,经常会需要在综合、实现的阶段添加约束,以便能够控制综合、实现过程,使设计满足我们需要的运行速度、引脚位置等要求。通常的做法是设计编写约束文件并导入到综合实现工具,在进行FPGA/CPLD的综合、实现过程中指导逻辑的映射和布局布线。下面主要总结一下Xilinx FPGA时序约束设计和分析。一、周期约束 周期约束是Xilinx FPGA 时序约束中最常见的约束方式。它附加在时钟网线上,时序分析工具会根据周期约束来检查时钟域内所有同步元件的时序是否满足需求。周期约束会自动的寄存器时钟端的反相。如果相邻的两个元件的时钟相位是相.. 阅读全文
posted @ 2012-04-12 11:07 nucfrank_blog 阅读(2207) 评论(1) 推荐(0)
摘要: 按键作为一种机械开关,在进行按键操作时,机械接触点的弹性及电压突变等原因,在机械开关合闭的时候会出现电压抖动,因此在实际的应用当中需要做一定的处理。一般按键按下就是低电压,这种按键去抖动的关键就是获取稳定的低电压电平状态,因此,对于对于一个按键信号,可以用一个脉冲信号对其进行采样,如果连续三次采样都为低电平的话,就认为是按键被按下。其数字电路原型为下图其实,我们在做FPGA设计之前,就应该大概知道自己的coding 在FPGA芯片上面会映射成什么电路,这样写的代码才是可靠的,有了上面的原理图,那么Verilog代码就很容易了,如下:input wire Clk ;inpu... 阅读全文
posted @ 2011-09-29 23:43 nucfrank_blog 阅读(1142) 评论(0) 推荐(0)
摘要: Virtex系列的FPGA的 基本I/O逻辑资源都包括组合输入、输出资源,三态输出控制、寄存器输入输出控制、SDR输入输出、DDR输出三态控制等。此外V5、V6器件还包括了IODELAY提供了对高分辨率可调整延迟单元的用户控制、SAME_EDGE 输出DDR模式,SAME_EDGA和SAME_EDGA_PIPELINED输入DDR模式等,以下主要是总结个人学习记录。 一、输入输出延迟单元IODELAY 每个I/O模块都包含一个可编程绝对的延迟单元IODELAY。它可以连接到ILOGIC/ISERDES或者OLOGIC/OSERDES模块。IODELAY有64个tap的环绕单元。通过选择IDELAYCTRL的参考时钟,可以改变这64个tap的延 阅读全文
posted @ 2011-09-29 22:43 nucfrank_blog 阅读(3335) 评论(0) 推荐(1)
摘要: 同步设计,顾名思义,就是设计要“步调保持一致”的处理数据,在数字电路的设计当中,这个所谓的“步调一致”就是指同一时钟的上升沿或者下降沿,即就是说,所有的电路在同一时钟沿的触发下同步的处理数据。   然后,在大多数系统的设计当中,往往存在于多个时钟域的情况,这个时候同步设计不再单单的指整个设计同一时钟,而是一个时钟域里保持同一时钟即可。   一、同步设计的优点   1、同步设计能有效避免毛刺的影响,使得设计更加可靠。   毛刺是逻辑设计的天敌,毛刺使得数据变得混乱,可能引起电路功能的误判断。当毛刺引入于时钟端或者异步复位端,就极有可能引起触发器的误翻转或者出现不正常的复位。但是毛刺是与生俱来的,也就是说毛刺是不可避免的,一般来讲凡是有组合逻辑的地方肯定就有毛刺。同步设计是避免毛刺的最简单有效的方法。   如下图,由于X1信号和x2信号到达与门的时延是不同的,导致与门输出Y产生了毛刺,由于设计是同步的。在下一级的时钟信号到来之前数据已经稳定,在经过下一级触发器的输出dout也是稳定的,所以同步设计可以有效的避免毛刺的产生。 阅读全文
posted @ 2011-06-06 14:41 nucfrank_blog 阅读(830) 评论(0) 推荐(0)
摘要: 一直以来在QQ、msn、校内网上面总有一些朋友问我fpga如何学习,其实我也是个菜鸟,很难回答大家找个问题,今天刚好在网上看到这篇文章,感觉和我学习FPGA的过程十分相似,就转载了下来,希望对大家有所帮助。(以下内容为转载) 回想起自己学FPGA,已经有一段时间了,从开始的茫然,到后来的疯狂看书,调电路,练习各种FPGA实例,到最后能独立完成项目,一路走来,感受颇多,拿出来和大家分享,顺便介绍下自己的一点经验所得,希望对初学者有所帮助。 废话不说了,下面进入正题,学习FPGA我主要经历了这么几个阶段: ①、VHDL和Verilog语言的学习,熟悉VHDL和Verilog语言的各种语法。 ②、FPGA的学习,熟悉QuartusII软件的各种功能,各种逻辑算法设计,接口模块(RS232,LCD,VGA,SPI,I2c,AD,DA等)的设计,时序分析,硬件优化等,大家可以先从简单的做起,复杂的电路一定要把芯片资料读懂,上面的时序分析一定要看明白,然后才能设计正确驱动。 ③、NiosII的学习,熟悉NiosII的开发流程,熟悉开发软 阅读全文
posted @ 2011-02-20 23:43 nucfrank_blog 阅读(747) 评论(0) 推荐(0)
摘要: 昨天项目仿真结束之后,准备上板测试的时候,却发现Altera 的USB-Blaster驱动无法安装。甚是奇怪,之前装了QuartuesII 8.1 的时候 驱动是可以安装的啊,可是大概过了一会显示却说可以使用了,实际操作时仍然不能。突然想到可能是驱动冲突,我现在机器上面装的是QuartuesII 10.1 之前装过QuartuesII 8.1的bus-blaster的驱动,根据猜想,我将之前安装的8.1版本的驱动删除了,之后指定10.1的版本的驱动位置:D:\Altera\10.0\quartus\drivers\usb-blaster成功安装了usb-blaster驱动。 阅读全文
posted @ 2011-02-20 23:32 nucfrank_blog 阅读(1949) 评论(0) 推荐(0)
摘要: 我们经常使用Xilinx Ise与Modelsim联合仿真,但是经常出现一些由于库没有编译而出现的错误!下面是我总结的方法:1。点击“开始-运行-compxlib”,然后按照提示完成即可显示如下,我们选择modelsim 系统会自动识别电脑上面modelsim的安装目录然后按照系统提示操作就OK啦,以后使用的时候直接加载库文件夹就ok啦 阅读全文
posted @ 2011-02-20 23:09 nucfrank_blog 阅读(358) 评论(0) 推荐(0)