最新日志

发表于:2008-3-21 17:18:33
标签:Tsu,Tsh,保持时间,建立时间  

0

关于Tsu、Tsh的理解

看了几天的时序分析,现将对于Tsu、Tsh的理解记录下来:

举例说明----有两个同步触发器,不考虑他们的clk skew。

       Data与Clk是两组接力运动员,他们在比赛但规则不一样。

       Data、Clk在赛点A中心广场,同一时刻出发。

       Data首先要绕过赛点A的后围墙(Time---Tco),经过漫长的公路(Time---Tdelay),到达赛点B的门口,离赛点B的中心广场还要Tsu(Time---Tsu),这才算完成了一个轮回的赛程。

       Clk虽然比较没这么多的曲折,但他是从赛点A中心广场的天桥上开始出发的,步行至地下通道就到了赛点B的门口,但是他要到B的天桥上才算完成了一个轮回的赛程。

       现在得知Clk用的时间为T,而且尽管Clk是举办方的VIP,但是Clk还是在这个轮回里输了。

故:

T>=Tco+Tdelay+Tsu;

即Tsu<=T-Tco-Tdelay.


        Tsh举例子比较复杂,但是记住Tsu+Tsh是一个稳定周期T(有少许出入,看下题。)
        时钟周期为T,触发器D1的建立时间最大为T1max,最小为T1min。组合逻辑电路最大延迟为T2max,最小为T2min。问,触发器D2的建立时间T3和保持时间应满足什么条件。

        Tsu<=T-T2max;
        Tsh<=T2min;(不考虑CLK skew)


 

点击此处查看原文 >>

系统分类: CPLD/FPGA   |    用户分类: 无分类    |    来源: 原创

评论(0) | 阅读(326)
发表于:2008-1-22 17:43:41
标签:verilog  

1

FPGA之Verilog延时

 

最近在弄nandflash,基本完善,发现以前的delay太啰嗦,但就这样挂着吧,算是自己的脚丫了。

 

最终发现,这种瞬间上升沿触发的模块在实际应用中无法综合成delay电路,瞬间上升沿触发的捕捉,大概只能在sim时候使用了~~    以下可以综合为实际电路(已验证!)(以下都为)脚丫了。

综合的时候有问题,posedge reg_delay_time不能与clk放在一起,正在找原因。

究其原因,...没想到,更改后可以综合通过。延时和以前一样。

更改后的部分:

可以仿真但无法综合时:

下面是其wave.将counter的位宽更改可以任意delay.

line 21:delay_time<=4'b0000;移动到line 36处较合适

 

 

点击此处查看原文 >>

系统分类: CPLD/FPGA   |    用户分类:    |    来源: 原创

评论(0) | 阅读(767)
发表于:2007-12-18 14:00:40
标签:Testbench  

0

Testbench之Simulate Altera ip core

昨天帖了一下为何不见了?icon再说

   使用ModelsimSimulate Altera ip core想必大多数人会,可对于一个新手来说,任何看起来很小的障碍都会成为其成功或失败的关键。

   Simulate Altera ip core,也问过人(办公室的),也问过所谓专业的QQ群,就是没人告诉你,让你不得不窝火。

   没有人告诉你,也无可厚非。这些你求助他们却无动于衷的人,你可以将理解为阻碍你前进阻碍你成功的人,你可以理解为使你成熟使你更会自立的人。天堂地狱,一念之间。(你讨厌这样的人,就不要做这样的人。)

C:\altera\71\quartus\eda\sim_lib:220model.v && altera_mf.v

copy----------->your project for simulating.(just  use Altera ip core).

 

点击此处查看原文 >>

系统分类: CPLD/FPGA   |    用户分类:    |    来源: 原创

评论(1) | 阅读(460)
发表于:2007-12-14 11:43:38
标签:Testbench  

0

Testbench之inout port

例为sync_ram,data为inout port,在Test时,data须定义为wire.另外定义它的两种状态,reg data_in,wire data_out。

在初始化in port时候直接使用data_in,代替data作为input时候的状态。所以要将data与连线data_in。

oeoutput enable,同时可以理解data已经定义为wire(output),所以data_out的声明无必要,直接用z来代替

在用data作为input,同样使用data_in代替即可。

总之比较郁闷的是,原来做RGB LCD的显示时使用的是dcfifo,无法仿真,只好学着写ramfifo先。

点击此处查看原文 >>

系统分类: CPLD/FPGA   |    用户分类:    |    来源: 原创

评论(0) | 阅读(438)
发表于:2007-12-13 11:24:27
标签:Testbench  

0

Testbench之激励触发

    我们在TEST时需要做一些特定的触发,而使用FORCE命令太麻烦,这里使用EVENT作为触发和引起触发的动作。与V中一样,@作为wait for trigger,相当于判断,OK后执行下一步,而->表示trigger开始。如例中ini2 ->reset_trigger发生后被ini1所捕捉,引起ini1开始动作。

   其他的不太深入的话都很简单,是一些语法问题。具体细节可以参照一牛LINK:http://www.asic-world.com/verilog/art_testbench_writing.html,进不去多ENTER几次。

 

点击此处查看原文 >>

系统分类: CPLD/FPGA   |    用户分类:    |    来源: 原创

评论(0) | 阅读(568)
发表于:2007-12-11 15:42:32
标签:FPGA/TESTBENCH  

0

Testbench之 初

断断续续的搞FPGA快一年了,因为只是个小本,所以没有经验(也被认为没有能力)搞FPGA,我就不信了,王侯将相有种乎?于是一而再再而三的撇开工作搞这个。

DMA控制RGB interface LCD,一直被这个问题压抑着。好不容易写好了,控制时序是OK了,就FIFO应该没有和DMA工作起来。老显示个蓝色,极其的郁闷,也不知道从哪里找问题。才想到Testbench,哎,当初买了本夏闻宇的书,就把V的语法,像Reg\Wire,<=\=,什么的弄得差不多了,至于什么Testbench有球用啊,就把书送人了。SXX!

一看到那些$什么的就头大,似乎有抵触情绪,就想不想看英文资料一样。http://www.niosforum.com上的牛人今天帮了我一把,他应该不是.CN吧,就觉得比所谓的什么EAD专业论坛好很多。所以英文也没什么,一点点看总会有成绩。那当时抛弃C学V的时候还不是头大,现在看起来到是都很亲切了,所以,人,要对自己狠一点。学习Testbench...



点击此处查看原文 >>

系统分类: CPLD/FPGA   |    用户分类:    |    来源: 原创

评论(1) | 阅读(377)
总共 , 当前 /