上一页 1 ··· 17 18 19 20 21 22 23 24 25 ··· 30 下一页

2012年8月13日

Altera Coding Style之上电初值

摘要: 1、reg上电后的初值均为0;如果程序里面给reg赋的初值为1,Qii会在reg的输出脚增加一个 NOT gate push-back,这样reg的初值还是0,但是外界看来就是1了;2、若程序代码综合出了preset,由于新器件一般都没有preset这个脚了,preset会与复位一起,优化为作用于CLR脚上;如果器件不同时支持 power-up 和 reset 这两种异步复位方式,而代码里面这样写了,并且这两种复位方式的输出不一致,那么在综合过程中,power-up 的值会被忽略掉;3、Altera建议,在上电之后,用外部的 reset 复位一下系统。 阅读全文

posted @ 2012-08-13 11:07 freshair_cn 阅读(335) 评论(0) 推荐(0) 编辑

2012年8月10日

Altera 建议的使用preset的方法

摘要: dffeveri.vmodule dffeveri (q, d, clk, ena, rsn, prn);// port declarationinput d, clk, ena, rsn, prn;output q;reg q;always @ (posedge clk or negedge rsn or negedge prn) begin//asynchronous active-low preset if (~prn) begin if (rsn) q = 1'b1; else q... 阅读全文

posted @ 2012-08-10 16:39 freshair_cn 阅读(381) 评论(0) 推荐(0) 编辑

使用差分信号管脚附近的普通管脚

摘要: 当报告管脚靠得太近的Error时,可以用以下方法解决: 阅读全文

posted @ 2012-08-10 11:59 freshair_cn 阅读(210) 评论(0) 推荐(0) 编辑

2012年8月9日

小数分频的实现方法

摘要: 一、推导假设分频系数为K,K可表示为 同时K亦可写成这样的格式:其中,M是输入脉冲个数,P是输出脉冲个数。令,那么M可以表示为:以上即是小数分频器的一种实现方法。即在次N分频时,额外多输出X个脉冲。二、原理图分析通过控制逻辑模块的输出a,使在次分频中有X次(N+1)分频。其中a为1时为N分频,a为0时为(N+1)分频。如此,当Fo输出个脉冲时,Fi输入了 个脉冲。三、举例为了防止相位抖动,可采用“均匀”法将两种分频混合均匀,即把多出来的X个脉冲均匀分散开;当然也可以把同分频系数的脉冲一次性输出。事实上,后一种方法实现起来会简单一点。下面以1位小数和2位小数为例,介绍方法如下:1、若为1位小数, 阅读全文

posted @ 2012-08-09 16:50 freshair_cn 阅读(5389) 评论(0) 推荐(0) 编辑

2012年8月3日

对Clock Slack的手术式分析

摘要: 一、Clock Slack的真正含义虽然文档强调的两个时钟域之间的关系,但是时序分析关注的还是时钟与数据的关系,在这里,关注的是采样时钟Latch Clock对数据的setup time和 hold time。Clock Slack代表的是对采样时钟速率、质量的容忍程度,借由对数据的裕量来衡量。二、Clock Setup Check先看计算公式:若Latch能采样到有效数据,数据出现的最晚时间即为Data Required Time,数据出现的实际时间为Data Arrival Time。若希望Latch能采样到数据,前者一定要大于后者。在评估内部寄存器输出到器件输出端口或者器件输入端口到内部 阅读全文

posted @ 2012-08-03 18:29 freshair_cn 阅读(1686) 评论(0) 推荐(1) 编辑

2012年7月27日

防止Qii编译器优化掉某信号的方法

摘要: 当某信号没有在Top Level上被使用,但又希望其出现在SignalTap II中作为测试信号,除了把该信号在顶层中声明为port之外,还可以利用编译器的synthesis attribute。具体方法如下:1、当被保留的信号为wire类型wire net1/*synthesis keep*/;2、当被保留的信号为reg类型reg reg1/*synthesis noprune*/;3、当保留的reg没有fanoutreg reg1/*synthesis preserve*/;若一个reg没有fanout,它会被直接接到VCC或GND说明:1、noprune与preserve的区别按照Qii 阅读全文

posted @ 2012-07-27 15:23 freshair_cn 阅读(1171) 评论(0) 推荐(0) 编辑

2012年7月26日

[转]红外遥控系统

摘要: 阅读全文

posted @ 2012-07-26 19:05 freshair_cn 阅读(196) 评论(0) 推荐(0) 编辑

2012年7月16日

SDRAM的Page Size和Row Size

摘要: 常见的说法是Page Size。Page Size的定义如下:但是这个说法是很容易引起歧义的。因为在SDRAM中,bus_width的宽度和使用到的地址位数是有关系的。例如256M的SDRAM,地址与数据宽度的关系如下:…column address A[9:0] and A11 for ×4; A[9:0] for ×8; A[8:0] for ×16;实际上这个Page Size就是Row Address的范围。而且,按照上面的定义,理解成Row Size更加合理。另一方面,这个值也与某SDRAM的Row Size一致,比如256M的SDRAM的Row Siz 阅读全文

posted @ 2012-07-16 14:29 freshair_cn 阅读(4117) 评论(0) 推荐(0) 编辑

2012年7月11日

DRAM几个关键的参数

摘要: 1、tRCDActive to Read/Write command delay; RCD 为 Row Command Delay的缩写,描述的是一个Row被Active之后,数据从DRAM cell到Sense Amp的时间。2、tCASthe delay time between the moment a memory controller tells the memory module to access a particular memory column on a memory module, and the moment the data from given array loca 阅读全文

posted @ 2012-07-11 17:59 freshair_cn 阅读(2678) 评论(0) 推荐(0) 编辑

2012年7月10日

关于SDC时false path的声明

摘要: 一般用set_false_path命令,但是注意Altera的文档里有这样一段话:Alternatively, use the set_clock_groups command to declare the paths between the two clock domains as false paths. For example, set_clock_groups –asynchronous –group [get_clocks clk] –group [get_clocks clkx2]. This command declares all paths from clk to clkx2 阅读全文

posted @ 2012-07-10 12:06 freshair_cn 阅读(892) 评论(0) 推荐(0) 编辑

上一页 1 ··· 17 18 19 20 21 22 23 24 25 ··· 30 下一页

导航