首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

可编程逻辑器件设计技巧之二

可编程逻辑器件设计技巧之二

13. LUT是实现组合逻辑的SRAM, 怎样实现一个时序的移位寄存器, 是不是必须加一个触发器来配合LUT?

答:The LUTs in Xilinx Virtex architecture are not simply combinational logic. When it is configured as 16x1 RAM, the write operation is synchronous. When it is configured as shift register, there is no need to consume any flip-flop resource. In fact the internal circuitry of a Virtex LUT is more complicated than what it looks like. (参考译文:Xilinx Virtex结构中的LUT不是简单的组合逻辑。当它被配置为16x1 RAM时,写操作是同步的。当它被配置为移位寄存器时,则无需消耗任何flip-flop资源。事实上Virtex LUT的内部电路比看起来更复杂。)

14. 在foundation 3.1环境里怎么找不到启动testbench.vhd的程式?

答:伴随Foundation 3.1i出现的仿真器为门极仿真器, 因此你不能在这种设计环境下以VHDL级运行仿真. vhdl代码必须在你运行任何仿真之前进行综合. 因此, 在Foundation 3.1i环境下并不能使用vhdl testbench. 作为替代方式, 你可以编写仿真script.

实际上, Foundation 3.1i是一款相对较老的软件. Xilinx ISE软件中支持HDL testbench, 它的最新版本为4.2i.

15. 关于双向口的仿真, 如果双向口用作输入口, 输出口该怎么设置?

答:做仿真时, 软件会自动地将IO口(包括双向口)的引脚本加入到. SCF文件中去. 先新建一个SCF文件, 然后在NODE->ENTER NODES FROM SNF->LIST, 将列出的所有IO引脚(包括了双向口)都加入仿真文件中, 就可以进行仿真了.

16. 关于ACEX1K的I/O脚驱动能力. ALTERA 计算功耗的datasheet 中:对ACEX1K器件, PDCOUT (power of steady-state outputs)的计算就是根据IOH, IOL来计算的, 能否告诉我ACEX1K芯片的IOH, IOL分别是多少?

答:关于ACEX1K的IO驱动能力, IOH&IOL的大小可以从ACEX1K的数据手册中查到(ACEX. PDF PAGE 50/86).

17. 设计中Vccio=3. 3V, 假如IOH=20mA, IOL=20mA, n=10 (Total number of DC output with steady-state outputs), 如何计算PDCOUT?

答:关于功耗的计算可以参照AN74(P2)中的功耗计算公式.

18. 当Vccio=3. 3V时, 对于输入脚, 它兼容TTL, CMOS电平;对输出脚, 它是否也兼容TTL和CMOS电平?对CMOS电平, 是否需要用OpenDrain 加上下拉电阻来实现?

答:ACEX1K器件引脚兼容TTL与CMOS电平. COMS输出是否要加上拉电阻要看外部接的CMOS电平, 假如说接5V COMS则需要上拉. 详细情况可以参照AN117.

19. 将EPC2与EPF10K30A连接成JTAG菊花链的形式, 在调试阶段可以跳过EPC2直接配置EPF10K30A, 而在配置通过验证以后再利用EPC2的JTAG口将EPF10K30A的配置信息固化到EPC2中去. EPC2的专用配置端与EPF10K30A配置端连接, 当系统脱离JTAG电缆上电配置时, 由EPC2完成对EPF10K30A的配置. 这个过程中有一个疑问, EPF10K30A相当于有两个配置通道(一个通过JTAG, 一个通过EPC2), 当其中一个配置通道工作时, 另外一个配置通道的存在是否会影响到配置过程的正常进行呢?如果相互影响, 怎样才能做到两种方式同时存在又互不影响呢?

答:可以使10K30A拥有两个不同的下载方式, 在板子上做一个跳线开关即可. 也可以从当地的代理得到该模块的参考设计.

20. ALTERA是建议直接使用MAXPLUSII或QUARTUS编译HDL源代码, 还是使用第三方EDA工具(如SYNPLIFY、LeoanrdoSpectrum或SYNOPSYS)先把HDL源代码编译为edf文件后再使用ALTERA的工具编译?

答:ALTERA建议用第三方的工具将HDL源代码编译为edf文件后再使用ALTERA的工具进行布局布线. ALTERA的MAXPLUSII和QUARTUS也都自带有HDL的综合器, 一些简单的设计可以直接在MP2或QII中编译即可. 而且可以直接在软件中后台调用第三方的EDA工具.

21. 用MAXPLUSII或QUARTUS多次编译同一设计生成的带延时的网表文件中的延时是否一样?

答:用MP2或QII多次编译同一设计成的带延时的网表文件中的延时是一样, 但要保证该网表文件没有修改过.

22. 在编译前设定一个模块的Synthesis Style为FAST是否一定比不设定(NONE)要节省LC资源?

答:在布局布线的过程中, Synthesis Style的设置会影响到资源的利用率和速度的快慢, 一般情况下:设置为FAST主要是为了提高设计的速度. 在软件中除了综合类型的设置, 还有一项是选择优化的目的:oPTIMIZE->AREA OR SPEED. 选择AREA可以节省设计所占用的资源.

23. Altera公司对芯片热设计有哪些资料和工具?

答:ALTERA提供了许多计算功耗的资料和工具. 数据手册中的AN74就是关与计算ALTERA器件功耗的专门文档.

24. 如何在设计前期分析芯片的功耗?

计算功耗的工具: ALTERA提供的QUARTUS软件就有计算功耗的功能, 它可以根据你不同的激励项量来计算功耗; 在ALTERA 的网叶上就有专门计算功耗的运算器, 请点击相关文章 它就给出了APEXII的功耗计算方法.

25. 看过“FLEX PCI Development Board”的参考设计原理图, 它利用了条线开关选择配置方式. 既然两种配置方式管脚并没有公用, 为何需要这个跳线开关呢?

答:EPC2不会影响到用下载电缆通过JTAG口配置EPF10K30A. 使用跳线开关是在选择给10K30A下载的方式, 是通过下载电缆还是EPC2.

因为将ECP2与10K30A连接成JTAG菊花链的形式通过下载电缆下载和用EPC2对10K30A下载的连接方式是不同的, 所以要将这两者分开, 详细的连接方法应该在参考设计原理图中已经描绘的很清楚了.

26. 为了保证设计可靠性, 需要重点关注哪些方面?

答:Here are a few guidelines for reliable FPGA design(关于可靠性FPGA设计的几点建议)

① Use fully synchronous design. Asynchronous design is very sensitive to path delay and is therefore not robust. An example of asychronous circuit is the SR latch which uses combinational feedback. (使用完全同步设计. 异步设计对路径延迟非常敏感, 因此不很可靠. 异步电路的一个例子是使用组合反馈的SR闭锁. )

② Never gate your clock signal with combinational logic. Glitches may occur on any gated clock signals, which results in false triggering of flip-flops. (绝不使用组合逻辑控制时钟信号. 因为在任何门控制时钟信号上可能产生短时脉冲干扰, 最终导致错误触发flip-flop. )

③ Never rely on gate delay. (绝不要依靠门延迟. )

④ Enough bypass capacitors should be placed close to the power and ground pins of FPGA. Use capacitors with good high frequency response. (FPGA的电源和接地引脚附近应该放置足够多的旁路电容器. 使用优质高频响应电容器. )

⑤ Always use the global clock buffers on the FPGA to drive internal clock signals. These clock buffers and the associated clock distribution network have been carefully designed to minimize skew. (在FPGA上始终使用全局时钟缓冲来驱动内部时钟信号. 并且已经仔细设计了这些时钟缓冲和关联时钟配电网, 以将畸变减至最小. )

27. You said "An example of asychronous circuit is the SR latch which uses combinational feedback". How do I learn SR latch ? What is the difference between SR latch and SRFF? (“异步电路的一个例子是使用组合反馈的SR闭锁”. 请问如何理解SR闭锁?SR闭锁与SRFF有什么区别?)

答:A latch changes states whenever the gate signal is active. A FF changes states only at clock edges. (参考译文:只要门信号是活动的, 闭锁就会更改状态. 而FF只有在时钟边沿才更改状态. )

28. Xilinx公司的芯片在热设计方面可以提供哪些工具和资料?

答:For thermal consideration, you need to know the power consumption of your FPGA and the thermal resistivity of the device package you are using. The power consumption can be estimated by the XPower tool included in Xilinx ISE software. The thermal resistivity of the device package can be found in Xilinx databook. The junction temperature can then be calculated by the following formula(至于散热问题, 需要了解所用FPGA的功耗和正在使用的器件封装的热阻系数. Xilinx ISE软件中所包含的Xpower工具可以估计功耗. 在Xilinx数据手册中可以找到器件封装的热阻系数. 然后利用下面的公式计算接合温度. )

P = (Tj - Ta) / THETAja 其中, P=功耗;Tj=接合温度;Ta=环境温度;THETAja = 封装的热阻系数

You can then detemine if the junction temperature falls within the acceptable region. The maximum acceptable junction temperature is different for C and I grade devices. If it is higher than the max. acceptable temperature, you may consider adding a heatsink or cooling fan. (之后确定接合温度是否在允许范围内. C和I级器件允许的最高接合温度不同. 如果温度高于允许的最高值, 可能需要增加散热片或风扇. )

29. 如果时钟进入FPGA后经过一段组合逻辑才上时钟网络, 会存在一定的延时. 综合布线后会出现信号输入延时为负值, 意味着信号比时钟先到达触发器. 那么, 怎样通过约束文件增加输入信号的延时呢?我试过对"NET"加上"MEDDELAY"的约束, 但是没效果.

答:Gating the clock signal with combinational logic is not recommended in modern high speed digital design since it may creates glitches on the gated clock signal, which results in false triggering of flip-flops. This results in a less reliable design. A common technique to remove gated clock is to make use of the clock enable pin of the flip-flop. For example, if you have a signal clko = clki & a & b driving the clock pin of a flip-flop, you can eliminate the gated clock by feeding clki directly to the FF clock pin, and have another signal en = a & b connected to the clock enable pin of the FF. ( 参考译文:在现代高速数字设计当中, 不建议使用组合逻辑门控时钟信号, 因为这将会在选通的时钟信号上产生短时脉冲波形干扰, 导致错误触发flip-flop. 这是缺乏可靠性的设计. 移除门控时钟通常所采用的技巧是使用flip-flop的时钟使能引脚. 例如, 如果有一个信号clko = clki & a & b 正在驱动flip-flop的时钟引脚, 则可以通过直接将clki传递给FF时钟引脚, 并将另一个信号en = a & b与FF的时钟使能引脚连接, 来消除门控时钟. )

By removing the gated clock, you no longer have the problem of clock delay. Also the design is more robust. (移除门控时钟后, 就不再有时钟延迟的问题了. 而且这种设计也比较可靠. )

30. FPGA生产产商提供了IP, 如何用第三方软件, 如Advantage 或 ACTIVE vhdl, 调用并进行仿真?

答:The IPs provided by Xilinx, e. g. PCI, come with simulation models which can be processed by 3rd part simulation tools like Modelsim. So there is no problem for functional simulation. Timing simulation can be done by exporting the post-layout vhdl/verilog model from Xilinx ISE software. In some cases, sample testbenches are also included. (参考译文:Xilinx提供的IP, 例如PCI, 是与仿真模型一同提供的, 这种模型可由第三方仿真工具, 如Modelsim来处理. 因此对功能仿真来说, 没有问题. 通过从Xilinx ISE软件中导出post-layout vhdl/verilog可以执行定时仿真. 在某些情况下, 也包括样本测试平台. )
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表