jerome555的个人空间 https://blog.eetop.cn/jerome [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

FPGA学习小结(一)

已有 1427 次阅读| 2009-5-8 09:41 |个人分类:FPGA/CPLD

1、状态机的问题,尽量不要写出太大的状态机,宁愿用一些小型的状态机来相互关联。

2、推荐大家使用timequest来做时序约束,好处是,它可能对你的时序约束和你的设计对照做分析,在做时序分析之前,先对你的约束做分析,然后告诉你,你有多少该做的事情而没有做的(为被约束的路径)还有多少你要求做的,而没有被做的(被忽略的时序要求)。

3、对时钟的约束,要重点关注两个现象。首先是尽量少的在时钟路径上引入逻辑,否则可能造成了时钟和时钟之间的skew。另外就是一种上下沿都需要用来采集数据的时钟。对于时钟的约束有很多的地方需要注意,否则你的电路都不知道会飞到哪里去。

4、约束中最重要的一个关键,不要过约束。过约束的坏处一大堆,增加编译时间,资源使用过度,导致其他的时序问题。如果你对自己的约束有些不太放心,又或者说可能器件和器件之间会有很细微的差别,你可以给约束做一些余量,但是过约束是万万要不得的。

5、。IP的作用就是为了完成一个特定的功能,所以我们并不需要知道它是如何实现的。作为一个IP,最重要的,其实是接口,因为你最重要的是需要知道是怎么让它工作起来,而不是它怎么工作的。所以在看文档的时候,最主要看的就是接口信号,对所有的信号的作用有一个了解。例如,NiosII cpu作为一个比较大型的模块,使用的是Avalon MM 点对点接口,它与普通的PCI接口不同的地方是,他可以支持同时多线控制。因为它没有总线的概念,不会在总线被占据的时候,其他任何通讯都无法进行。NiosII是在SOPC builder 中被直接使用的,我们不需要知道具体有哪些信号,因为没有非常需要,我们是看不到这些接口的。在NiosII中,我们有两个Master Avalon MM 接口,一个是Instruction Master Port, 这是CPU用来读取指令的接口。CPU通过这个端口从Memory上读取指令。另一个是Data master port, 很简单,这是用来连接数据通道的。比如说你要读取的数据,你要存储的数据,都是走这个通道。这两个端口可以连接同一个内存,在这种时候需要特别小心,很有可能自己把自己的指令给改掉了。但是反过来思考一下,其实我们可以做什么?可以按照状况改变软件代码。NiosII中还有第三个端口,这是用来做Debug用的端口。还有其他的一些接口,比如TCM接口。我们需要知道这些接口的存在,但是不需要知道细节,只有在用到的时候再去看相关的文档就好了。

6、作为系统设计,是需要有一种粗旷型的大气魄,不需要在细节上浪费时间。你会发现很多的细节是没有意义的。并不是说我们不需要去研究细节,细节是很重要的,但是细节需要在被用到的时候才去关注就好了。

7、在使用IP的时候,会遭遇到意想不到的痛苦的。所以,尽量不要依靠假设来臆想了模块的设置。而是尽量的适应环境,来配置自己的设计。作为一个FPGA的玩家,这种依照环境来改变的能力是必须的。

8、考虑Cashes的设置,Cash 有两种,一种是用来做指令缓存的,一种是用来做数据缓存的。Cash的大小对程序的运行速度是有影响的。当然也没必要使用过多的资源。够用就好了。

9、自定义指令设置。这是最有价值的设置。所谓自定义指令,并不是一个软件宏或者函数。而是一块硬件。当CPU调用到这个指令的时候,事实上它调用的就是这个硬件模块,它被嵌入在CPU中。而这其实就是NiosII好玩的地方。

10、SOPC builder是QuartusII中用来建立,开发,维护系统的平台。虽然很多时候我们用它作为NiosII的一个嵌入式系统的开发环境,但我不要把思路只是局限在NiosII上面。它将成为一个包容全部系统内容的一个平台。

11、Avalon接口分成两种,一种是Avalon-MM接口,另一种是Avalon-ST 接口。MM接口,是通过地址来读写数据,更多的是用在控制逻辑上面。ST接口是用于点到点的流数据接口,更多的可以用在有高速通过率的模块中间。这两个接口本身并没有矛盾,不是说势不两立的,一个模块中既可以有MM接口,甚至几个MM接口,也可以同时存在ST接口。作为一个点对点的接口定义,Avalon可以做到高效的接口效果。这与PCI之类的总线接口是有本质区别的。PCI总线可以看作是铁路轨道,当一个火车在轨道上行驶的时候,就不可以有另一个火车同时使用轨道。Avalon接口更多好像高速公路,车辆可以双向行驶。


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 2

    粉丝
  • 0

    好友
  • 0

    获赞
  • 1

    评论
  • 1649

    访问数
关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-24 23:20 , Processed in 0.015358 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部