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

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

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

40. 以前的问题提到, 用EPM7064LC68进行编译, 会出现编译错误. 如果编译时, 让系统自动选择器件, 则选中的器件是EPM7064SLC84, 编译通过. 我查遍手头的资料, 并没有发现后者有三个输出使能, 这是怎么回事?望解答.

答:事实上在MAX7000S上有6个输出使能控制信号, 你可以在MAX7000的数据手册(M7000. PDF)第二页看到有这样的说明.

Enhanced features available in MAX 7000E and MAX 7000S devices – Six pin- or logic-driven output enable signals

41. 在FPGA中是以何种形式实现VHDL的变量类型的?

答:There is no definite answer to this. It depends on how you write your codes. A variable in vhdl may be synthesized into a physical net, or it may not exist at all in the resulting circuit. 文:没有明确的答案. 它取决于所编写的代码. Vhdl中的变量可能同步到物理网络中, 或者根本不可能存在于结果电路中. )

42. 在布线后生成的时序报告文件中, 可以看到延时的一些报告, 对于某条时序报告, 如何定位其对应的语句呢?特别是当完全使用语言方式输入时, 生成的网表中大量的为N**形式, 无法看懂其含义.

答:Most synthesizers do preserve signal names to a certain extend, usually a string is concatenated to the end of the original name. So you can still correlate the names in many cases. For those strange net names like N***, they are signals generated by the synthesizer and may not have a counterpart in the original source code. (参考译文:大多数合成器是会以某种扩展名来保存信号名称, 这些扩展名通常是连接到最初的名称末尾的字符串. 使这些名称在很多情况下仍然相关. 至于那些像N***一样奇怪的网表名称, 是由合成器生成的信号, 而且可能不会在最初的源代码中有副本. )

43. 布线后时序仿真与实际电路板上测试一般都不一样, 特别对于高速信号, 几个ns的差别是很大的, 到底应该以哪一个为标准进行设计呢?

答:The timing information you get from the post-layout simulation is based on worst case parameter. So you usually have better results on silicon than in simulation. For robust designs, always consider the worst case. (参考译文:从时序仿真中获得的时序信息是基于最坏情况参数的. 因此, 通常在硅片上实际操作的结果要比仿真中的好. 对于可靠的设计而言, 始终都要考虑最坏的情况. )

44. ISE4. 2和ISE4. 1相比有何改进?

答:Here's a brief list of new features in ISE4. 2i (以下是ISE4. 2i新特性的要点)

- Device support for VirtexII Pro and CoolRunnerII (设备支持VirtexII Pro和CoolRunnerII)

- Provides 2 new source types, BMM files and ELF files, for embedded VirtexII Pro PowerPC and Microblaze processor support. BMM file is the Block RAM Memory Map file that describes the organization of Block RAM memory. ELF file is the Executable and Linkable Format file contains the executable CPU code image to be stored in Block RAM as specified in the BMM file. (提供2个新的源类型:BMM文件和ELF文件, 以支持嵌入式VirtexII Pro PowerPC和Microblaze处理器. BMM文件是“块RAM内存图”文件, 它描述了块RAM内存的结构. ELF文件是“可执行和可链接格式”文件, 它包含存储在BMM文件中指定的块RAM的可执行CPU代码图. )

- Improved PAD file for easier to import into a spreadsheet program for viewing, sorting and printing. (改进PAD文件, 以便导入到电子表格程序中, 供查看、存储和打印)

- iMPACT now incorporates the functionality of the PROM File Formatter and Xilinx System ACE software. (iMPACT与PROM文件格式程序和Xilinx系统ACE软件的功能相结合)

- XST enhancement for better language support and preservation of internal signal names. (XST增强了语言支持, 并能保存内部信号名称. )

For more information regarding Xilinx ISE4. 2i, please visit our website www. xilinx. com (更多有关Xilinx ISE4. 2i的信息, 请访问网站www. xilinx. com).

45. 经常看到gate这个词. 能够具体解释一下它的含义, 例举其用法以及如何避免问题?

答:Here're a couple of examples :(举例说明)

- Never use gated clock. By gated clock we mean the clock signal comes out from combinational logic. It is well known that any signal coming out of combinational logic is prone to glitch. The result is fatal if there is a glitch on your clock signal since it will cause false triggering of FFs. A common technique to avoid gated clock is to utilize the clock enable pin on the FF. (从不使用gated clock. 这个词表示时钟信号出自组合逻辑. 众所周知, 任何出自组合逻辑的信号都容易发生故障. 由于时钟信号上的故障将导致错误触发FF, 其结果是致命的. 避免gated clock常用的技巧是利用FF上的时钟使能引脚. )

- Never design a circuit that relies on gate delay to function. It was a common practise in the past to introduce a delay in the design by inserting a series of logic gates. This is not a recommended style in modern high speed digital design since the delay changes as new devices coming out from more advance process technologies. Also, the amount of delay changes as temperature and voltage as well. So it is not a good design practice to have circuits which relies in gate delay to function. (绝不设计依赖gate delay工作的电路. 通过插入一系列逻辑门在设计中引入延迟, 这是以前常见的作法. 而在现代高速数字设计中, 建议不要使用这种作法, 因为延迟会随采用更先进的工艺技术所制造的新器件而改变. 而且, 延迟的总量也会随温度和电压而改变. 因此依赖gate delay而工作的电路不是很好的设计. )


46. 用FLEX6016设计了一个频率测试卡, 用的是ISA总线和计算机相连, 不把卡插在ISA槽上时, 由外部提供电源时, 下载就能成功, 一但插上去, 下载就出现“SRAM load unsucessful”, 这是怎么回事呢?

答:导致“SRAM load unsucessful”可能有各方面的原因. 基于板子由外部供电是可以下载成功, 说明下载电路是正确的; 而插入ISA槽中则出现问题, 可能是ISA槽供电有问题, 可以检查一下芯片的电源信号, ISA与外部供电是否采用一致的电路, 检查ISA供电环境, 是否存在毛刺, 电源纹波的大小.

47. 想把EPM712和TMS320F240做在一块实验板上, 但是不知道怎么设计仿真口对EPM7128编程?还是必须买厂家的EPM7128开发板?

答:可以参考AN116的下载数据手册, 按照其中的下载原理图来连接DSP与PLD的下载口. 下载电路其实非常的简单, 只需按照7128的下载波形, 从DSP中将PLD 的下载文件依此输入即可. 当然也可以从当地代理商那里获得支持, 参考一些典型下载电路.

48. 想自己设计一块TMS320F240试验电路板, 包括A/D、D/A、键盘显示接口, 其中译码、键盘显示部分想用EPM7128来做, 不知道具体怎么与TMS320F240接口?

答:所谓PLD为可编程器件, 其IO口的连接非常地灵活, IO 口的功能可以按照自己的定义来设定. 只需将希望的TMS320F240连接口连接到PLD的任意IO口上, 然后在PLD中编写相应的控制逻辑, 即可进行数据传输与控制.

49. 变频器盘中使用一芯片是ALTERA EP330PC-12烧坏, 请问如何处理?

答:这是一款旧型号的芯片. 可以利用ALTERA或第三方提供的编成器将下载文件重新下载到一个好的器件中去, 或者采用MAXPLUSII软件通过BYTEBLAST(MV)连接到板子上将编成文件读出再下载到新的器件中去.

50. SRFF = SR flipflop SRFF和SR latch有何区别?

答:FUNCTION SRFF (S, R, CLK, CLRN, PRN) RETURNS (Q);

//VHDL Component Declaration:

COMPONENT SRFF

PORT (s : IN STD_LOGIC;

r : IN STD_LOGIC;

clk : IN STD_LOGIC;

clrn: IN STD_LOGIC;

prn : IN STD_LOGIC;

q : OUT STD_LOGIC);

END COMPONENT;

FUNCTION LATCH (D, ENA)

RETURNS (Q);

//VHDL Component Declaration:

COMPONENT LATCH

PORT (d : IN STD_LOGIC;

ena: IN STD_LOGIC;

q : OUT STD_LOGIC);

END COMPONENT;

不同点在于SRFF是一个触发器, 而LATCH只是一个锁存器, 更详细的真值表可以从软件的HELP文档中可以查到.

51. 想在内部上拉输入信号, 所使用的设备是FLEX6016. 怎么做?

答:可以在MAXPLUSII中选定该信号, 然后选择assign-> logic option->Individual logic options -> Enable pull-up resistor. 然后重新编译一下就可以了.

52. 有关输入信号的上拉问题(前题), 按照专家的回答做过, 但是失败了, 不知道是什么原因导致了此法不可行?还有没有别的办法?

答:Altera的FLEX6000系列在I/O管脚上是没有上下拉电阻的, 所以加了约束也没有作用.

53. 使用AHDL语言编写的程序. 在Quartus II 1. 0下编译, 使用的是20K400EBC652-3的片子. 将编译产生的pof文件下载到EPROM里, 但是在程序没有多大修改的情况下(仅仅改变一些测试管脚), 程序运行结果不一样. 具体表现在DSP芯片启动FPGA里的一根控制线不稳.

答:逻辑功能仿真结果如何?在修改前后有没有改变?假如说功能仿真是对的, 请确认设计Timing是否满足要求, 尤其是IO的Timing 要求是否达到. 在可能的情况下进行后仿真, 其仿真结果能够确保你的逻辑在PCB板上正常地工作. 假如仿真结果与Timing要求都没有问题, 其逻辑一定能在板子上正常地工作.

54. 当一个输入信号不满足触发器的Setup/Hold时间时, 触发器的输出信号是不是一稳定状态(或为0, 或为1, 当下一次的输入信号满足Setup/Hold时间时, 触发器能正确地输出)?由于此时触发器处于亚稳态, 以前看过一些资料, 某些器件的输出可能是振荡状态, 即此时、将来的输出信号不可预测, 与时钟信号、输入信号无关. 我想问的是Altera器件对此情况是如何处理?因为某些情况下, 当输入信号超过1个Clk时间, 只是在第一个Clk周期内, 不满足Setup/Hold, 但是其他的Clk周期内, 满足Setup/Hold.

答:关于这个问题, 建议参考一下ALTERA的文档AN42. 该文档详细地讨论了ALTERA器件的亚稳态性. 网上的地址是http://www. altera. com/literature/an/an042. pdf.

55. 在中国市场上, 可以容易买到使用Altera公司的软件MAX+PlussII进行VHDL和FPGA设计的教程书籍, 但是却鲜有使用Xilinx foundation软件平台的书籍, Xilinx是否考虑增强这方面内容?

答:Thank you for your input. In fact there are a number of books available in the market on Xilinx FPGA and development tools. A good example is the title "XILINX 数字系统集成技术" by Professor 朱明程, published by Southeast University Press. We will work closely with local publishers to bring out more titles on Xilinx products. (市场上还是有几本Xilinx FPGA和开发工具的书. 比较好的有朱明程教授编的《XILINX 数字系统集成技术》, 东南大学出版社出版. Xilinx公司也将会与本地出版商密切合作, 推出更多针对Xilinx产品的书籍. )
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表