随笔分类 - FPGA经验与技巧
摘要:ISE MAP报错: Unsupported programming for BSCAN block and JTAG_CHAIN attribute value 1的解决方法
阅读全文
摘要:转自:http://www.cnblogs.com/linjie-swust/archive/2012/01/07/YWT.html1. 应用背景1.1 亚稳态发生原因 在FPGA系统中,如果数据传输中不满足触发器的Tsu和Th不满足,或者复位过程中复位信号的释放相对于有效时钟沿的恢复时间(recovery time)不满足,就可能产生亚稳态,此时触发器输出端Q在有效时钟沿之后比较长的一段时间处于不确定的状态,在这段时间里Q端在0和1之间处于振荡状态,而不是等于数据输入端D的值。这段时间称为决断时间(resolution time)。经过resolution time之后Q端将稳定到0或1上,
阅读全文
摘要:转自:http://forum.eepw.com.cn/thread/208282/1Synplify 使用过程中最常用的选项及命令的介绍。一、状态机相关FSM Compiler OptionFSM Compiler是一个全局选项。勾选此选项之后Synplify Pro会自动检测代码中的状态机,根据状态数量的不同选择不同的编码方式。状态数量在0~4之间采用顺序编码(Sequential),状态数量在5~40之间采用独热码(One hot),状态数量在40以上采用格雷码(Gray)。对状态机状态进行“可到达分析”,优化掉无法到达的状态和无法执行到的语句。FSM Explorer Option它是
阅读全文
摘要:转自:http://blog.csdn.net/xiangyuqxq/article/details/7267543所谓关键路径就是,在电路中频繁调用,而且延迟过长,或者产生意外的几率比较大的线路。怎样提取关键路径:1:组合电路中的关键路径提取: q=a&b&c|d&e&b; 因为b的传输要两级, 可以简单的提取b作为一级的: q=(a&c|d&e)&b;2: always——block中的关键路径提取: always中关键路径的提取一般用分步法提取,请看下面一个always——block, always@(in) begin if(!a
阅读全文
摘要:转自:http://www.chinaaet.com/article/index.aspx?id=182477关键词:FPGA跨时钟域信号异步时钟上次提出了一个处于异步时钟域的MCU与FPGA直接通信的实现方式,其实在这之前,特权同学想列举一个异步时钟域中出现的很典型的问题。也就是要用一个反例来说明没有足够重视异步通信会给整个设计带来什么样的危害。特权同学要举的这个反例是真真切切的在某个项目上发生过的,很具有代表性。它不仅会涉及使用组合逻辑和时序逻辑在异步通信中的优劣、而且能把亚稳态的危害活生生的展现在你面前。从这个模块要实现的功能说起吧,如图1所示,实现的功能其实很简单的,就是一个频率计,只
阅读全文
摘要:对setup time 以及hold on time,以及亚稳态的时序有详细的介绍。转自:http://blog.163.com/sunhuifxd@126/blog/static/5585944320101119103529673/1,简介这篇文章是我对电子设计中,亚稳态问题的一种分析和总结。文章通过对数字电路中器件的工作机制的介绍,引出亚稳态问题的发生机制。并通过对亚稳态问题发生机制的探讨,用以得到一种能够清楚地,有的放矢地解决亚稳态问题的能力。而这种能力,将会成为你作为一个工程师的价值所在。希望通过这个探讨,可以使你设计出属于自己的预防亚稳态的方法。对于常用的预防亚稳态的方法,由于网上已
阅读全文
摘要:转自:http://blog.163.com/sunhuifxd@126/blog/static/55859443201010131042581跨时钟域问题在一个FPGA设计中可能会用到多个时钟,每个时钟在FPGA内部形成一个时钟域,如果在一个时钟域中产生的信号需要在另一个时钟域中使用,那么需要特别小心!到另一个时钟域的信号假设一个在时钟域CLKA产生的信号需要在时钟域CLKB中使用,那么它需要首先与时钟域CLKB“同步”,也就是说需要一个“同步”设计,它接受来自时钟域CLKA的信号,并产生一个新的信号输出到CLKB。在第一个设计中,我们假设信号的改变相对于时钟域CLKA和CLKB的时钟都是很
阅读全文
摘要:参考了网上很多关于复位的介绍,很乱,也有错误,下面是自己的一些整理,有误之处,还望大家不吝指出。同步复位,异步复位以及异步复位同步释放实例分析1.1同步复位1.1.1同步复位介绍同步复位就是指复位信号只有在时钟上升沿到来时,才能有效。否则,无法完成对系统的复位工作。1.1.2同步复位优点Ø 同步复位的优点大概有3条:1)有利于仿真器的仿真。2)可以使所设计的系统成为100%的同步时序电路,这便大大有利于时序分析,而且综合出来的fmax一般较高。3)因为他只有在时钟有效电平到来时才有效,所以可以滤除高于时钟频率的毛刺。1.1.3同步复位缺点Ø 同步复位的缺点:1)复位信号的有
阅读全文
摘要:首先给出复位信号亚稳态的原因:复位结束也就是释放的时刻恰在时钟上升沿的建立时间和保持时间之间时无法决定现在的复位状态是1还是0,造成亚稳态。下面是具体解释:在带有复位端的D触发器中,当reset信号“复位”有效时,它可以直接驱动最后一级的与非门,令Q端“异步”置位为“1”or“0”。这就是异步复位。当这个复位信号release时,Q的输出由前一级的内部输出决定。然而,由于复位信号不仅直接作用于最后一级门,而且也会做为前级电路的一个输入信号,因此这个前一级的内部输出也受到复位信号的影响。前一级的内部电路实际上是实现了一个“保持”的功能,即在时钟沿跳变附近锁住当时的输入值,使得在时钟变为高电平时不
阅读全文
摘要:转自:http://hi.baidu.com/renmeman/item/5bd83496e3fc816bf14215dbRTL级,register transfer level,指的是用寄存器这一级别的描述方式来描述电路的数据流方式;而Behavior级指的是仅仅描述电路的功能而可以采用任何verilog语法的描述方式。鉴于这个区别,RTL级描述的目标就是可综合,而行为级描述的目标就是实现特定的功能而没有可综合的限制。行为级是RTL的上一层,行为级是最符合人类逻辑思维方式的描述角度,一般基于算法,用C/C++来描述。从行为级到RTL级的转换,一般都是由IC设计人员手工翻译。 这个过程繁琐,.
阅读全文