Dec 28
看到一篇Blog,Gary同学用公司空闲的Spartan3E Starter Kit来做成了抢手的USB Cable。他是怎么做的呢?我不说你能想到吗?

由于Spartan3E Starter Kit板载一块可以用作USB Cable的Cypress芯片,Gary同学把它通过JTAG口连到了自己板子上的JTAG口上,组成一个JTAG链。原理不难理解,但是都没想到过吧:)

Tags:
Dec 28
两年前写过一篇文章叫《对FPGA进行系统设计的Xilinx软件使用方法》。时隔两年,ISE从7.1升级到了10.1,稍稍来更新一下这篇文章吧。

这篇文章并不是讲述系统规划的方法,不是讲述系统规划时应该注意的一二三,而只是讲述了如何用工具提高效率的方法,适用程度因人而异。

---------------------BEGIN---------------------

Situation: 在对FPGA设计进行最初步的系统规划的时候,需要进行模块划分,模块接口定义等工作。通常,我们起初会在纸上进行设计,到了一定阶段的定稿可能会输入Visio等工具,方便在Team内部交流和审阅。虽然在纸上我们可以很随意地书写,而用纸画的不方便就在于,如果想对某一个模块进行一些改动或者重画模块,那么常常因为留出的空余纸张不够,而导致拿一张新的白纸重新画一遍,比较浪费时间。对于电子化的Visio来说,方便修改是好处,但他不是专为设计FPGA系统而设计的,添加输入输出端口没那么方便,也不会根据定义的模块自动生成HDL文件。

Question: 我们能不能使用更好软件进行系统规划呢?

Solution: 答案是可以的。下面以ISE 10.1为例作说明:
Tags:
Dec 24
1. XST主要参考资料:XST User Guide (ISE安装目录doc中的xst.pdf)

2. 辅助参考资料:WP231 - HDL Coding Practices to Accelerate Design Performance

3. 特别注意之一:请给XST加时序约束。
通常我们会为工程添加UCF约束指定时序要求和管脚约束。但是UCF约束是给MAP,PAR等实现使用的,综合工具XST并不能感知系统的时序要求。而为XST添加XCF约束却是使实现结果拥有最高频率的关键。其原因是显而易见的:实现工具只能在综合网表的基础上布局布线,而综合工具却可以根据要求调整综合网表,使实现工具更容易满足时序要求。如果不将时序目标告知综合器,将导致我们对性能的要求得不到体现。
XCF约束语法与UCF类似并且在XST User Guide中有详细描述。其实常用的Period、Offest等约束和UCF的语法是一模一样的,可以直接使用在XCF中。
给设计添加XCF约束的方法是Synthesize - XST --> 右键 --> Synthesis Constraint File = 指定路径

4. 特别注意之二:仔细察看综合报告中的Warning。
切记要仔细查看综合报告中的所有Warning并确认是否是可以安全忽略的。综合器产生Error会使工具停止工作,但是Warning经常会被用户忽略。其实Waning可以提示很多潜在的逻辑问题,比如某些信号声明了,被使用了,却没有被赋值,或者综合器发现了Latch但却不是期望的结果等等。

5. 常用选项之一:keep_hierarchy - 保持层次。在初始设计/debug的时候很有用。XST根据层次来综合,不打破层次优化,所有的寄存器名字都以名字排列,UCF约束可以很方便得找到需要约束的对象。如果选择soft,则在综合时保持层次,而在map时工具会打破层次来优化,但是instance的名字还是保留的。
Tags: ,
Dec 14
问:一个FPGA设计项目需要用哪些评判标准来检验?
一曰功能正确;
二曰时序收敛;
三曰资源消耗少。
Tags: ,
Dec 11
[Background]
- 几乎所有的嵌入式系统都需要用外部存储器
- 最终的设计不可能用Demo Board,肯定都要重新画PCB
- DDR Memory Controller是一个挺复杂的系统,移植起来比较麻烦

[Question]

怎样移植现有设计的Memroy Controller到定制PCB板上?
Tags: , ,
分页: 8/35 第一页 上页 5 6 7 8 9 10 11 下页 最后页 [ 显示模式: 摘要 | 列表 ]