随笔分类 -  FPGA学习感悟

摘要:Xilinx FPGA的约束设计和时序分析总结 在进行FPGA的设计时,经常会需要在综合、实现的阶段添加约束,以便能够控制综合、实现过程,使设计满足我们需要的运行速度、引脚位置等要求。通常的做法是设计编写约束文件并导入到综合实现工具,在进行FPGA/CPLD的综合、实现过程中指导逻辑的映射和布局布线。下面主要总结一下Xilinx FPGA时序约束设计和分析。一、周期约束 周期约束是Xilinx FPGA 时序约束中最常见的约束方式。它附加在时钟网线上,时序分析工具会根据周期约束来检查时钟域内所有同步元件的时序是否满足需求。周期约束会自动的寄存器时钟端的反相。如果相邻的两个元件的时钟相位是相.. 阅读全文
posted @ 2012-04-12 11:07 nucfrank_blog 阅读(2214) 评论(1) 推荐(0)
摘要:按键作为一种机械开关,在进行按键操作时,机械接触点的弹性及电压突变等原因,在机械开关合闭的时候会出现电压抖动,因此在实际的应用当中需要做一定的处理。一般按键按下就是低电压,这种按键去抖动的关键就是获取稳定的低电压电平状态,因此,对于对于一个按键信号,可以用一个脉冲信号对其进行采样,如果连续三次采样都为低电平的话,就认为是按键被按下。其数字电路原型为下图其实,我们在做FPGA设计之前,就应该大概知道自己的coding 在FPGA芯片上面会映射成什么电路,这样写的代码才是可靠的,有了上面的原理图,那么Verilog代码就很容易了,如下:input wire Clk ;inpu... 阅读全文
posted @ 2011-09-29 23:43 nucfrank_blog 阅读(1142) 评论(0) 推荐(0)
摘要:同步设计,顾名思义,就是设计要“步调保持一致”的处理数据,在数字电路的设计当中,这个所谓的“步调一致”就是指同一时钟的上升沿或者下降沿,即就是说,所有的电路在同一时钟沿的触发下同步的处理数据。   然后,在大多数系统的设计当中,往往存在于多个时钟域的情况,这个时候同步设计不再单单的指整个设计同一时钟,而是一个时钟域里保持同一时钟即可。   一、同步设计的优点   1、同步设计能有效避免毛刺的影响,使得设计更加可靠。   毛刺是逻辑设计的天敌,毛刺使得数据变得混乱,可能引起电路功能的误判断。当毛刺引入于时钟端或者异步复位端,就极有可能引起触发器的误翻转或者出现不正常的复位。但是毛刺是与生俱来的,也就是说毛刺是不可避免的,一般来讲凡是有组合逻辑的地方肯定就有毛刺。同步设计是避免毛刺的最简单有效的方法。   如下图,由于X1信号和x2信号到达与门的时延是不同的,导致与门输出Y产生了毛刺,由于设计是同步的。在下一级的时钟信号到来之前数据已经稳定,在经过下一级触发器的输出dout也是稳定的,所以同步设计可以有效的避免毛刺的产生。 阅读全文
posted @ 2011-06-06 14:41 nucfrank_blog 阅读(832) 评论(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 阅读(752) 评论(0) 推荐(0)