原创 FPGA的一点总结

2007-11-23 16:59 2848 6 8 分类: FPGA/CPLD
    riple网友说:“写作是最好的学习方式”。所以我决定从现在开始就把自己所学所领悟的写出来,一方面是为了自我总结,另一方面也希望能对需要的同行们起到学习的作用!
    我写verilog也有一年时间了,可是真正入门估计也是在最近吧。最近我正在做一个256灰度级的LED全彩图像屏。老师设计了方案,我所要做的就是领悟并在FPGA上实现它。一开始的时候,我觉得蛮简单的,所以就照着设计的逻辑写了一堆代码,要说真正领悟,估计连皮毛都没沾上吧。我希望出现奇迹,那就是把它下载到FPGA上立刻就能正确运行,并且完美的显示我想要的图像。可是当我第一次心急如焚的下载了代码,发现我的LED显示屏一片黑,什么都没有。我顿时心灰意冷,觉得自己什么也干不了。
    后来在同事的帮助下,我知道我这么做是不对的。
    第一:“设计必须文档化。要将设计思路,详细实现等写入文档,然后经过严格评审通过后才能进行下一步的工作。这样做乍看起来很花时间,但是从整个项目过程来看,绝对要比一上来就写代码要节约时间,且这种做法可以使项目处于可控、可实现的状态。”,这是我最近才看了一个编写代码规范中的第一条。这一条实在尤为重要,我必须完全掌握设计思路,才能在写代码的时候不会照猫画虎,才能做到起步就是对的。
    第二:在我编译的时候,总会出现关键路径时序要求不满足的这个严重警告。因为我在设计中用了很多很多的分频时钟,可以说是整个设计是时钟满天飞。后来在我修改程序中,我按照设计的思路,只用整个模块的系统时钟做为全局时钟,这样,问题就不会出现了。而且,因为时钟很多,在我用到TimingQuest时,都不知道从哪里着手。
    第三:设计中产生了很多门控时钟,像这样的警告:"Found * node(s) in clock paths which may be acting as ripple and /or gated clocks-node(s) analyzed as buffle(s) resulting in clolk skew;"在我之后用了全局时钟以后,它就消失了,而且也保证了时序电路稳定。
    暂时先写这么多吧,我的256灰度级图像屏已经可以很清楚地显示一个漂亮的小孩子和美丽的玫瑰花了。虽然还有很多不足,但我相信一定可以克服的!也希望大家补充。icon


PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

用户1576122 2011-7-14 01:45

顶一个

用户1119207 2009-5-14 13:31

你好 你的256级灰度做得这么样了,有没有带伽马校正? 我现在开始做一个256*256*256灰度的全彩屏 带GIF动画的 希望能向你讨教 QQ:190557511
相关推荐阅读
用户111218 2008-01-18 13:42
FPGA设计注意事项
      1.一个模块尽量只用一个时钟, 在多时钟域的设计中设计到跨时钟域的最好有专门一个模块做时钟域的隔离。利于综合器综合。      2.尽量在底层模块上做逻辑,在高层做例化,顶层模块只能做例化...
用户111218 2008-01-11 11:28
IC测试原理-存储器和逻辑芯片的测试
1 存储器术语的定义 在讨论存储器芯片测试之前,有必要先定义一些相关的术语。 写入恢复时间(Write Recovery Time):一个存储单元在写入操作之后到能正确读取之前这中间必须等待的时间。 ...
用户111218 2007-12-27 10:51
synplify tool
        最近不忙,正好可以研究一下综合工具。...
用户111218 2007-11-07 15:27
时序不满足
    对于时序不满足这种情况,多数还是在逻辑中找原因。我用了全局时钟,而不是用分频器产生的时钟,上面那个警告就自然消失了。也许有更好的办法,这可能只是最笨的一种办法了。呵呵,用了不少的资源。    ...
用户111218 2007-11-02 15:34
专业英语的重要性
   英语的重要性就是在你用这个西方软件的时候,能够明白它每一项都有什么功能。我的可怜的英语,阻碍了我工作的进展。看来得要狠狠的补一补了~ ...
我要评论
2
6
关闭 站长推荐上一条 /3 下一条