11、问 :ISE 中的 PAD TO PAD CONSTRAINT 是否是包括输入输出的 pad 时延之和再加上输入输出之间的组合逻辑的时延?还是只是输入输出之间的组合逻辑的时延?
答 :Xilinx PAD-to-PAD contraint 的确涉及到输入输出 PAD 时延 . 这从布局后时序报告中可以看出。
12、问 :写了一个 vhdl 的小程序 , 可是在 processes of soure 里的 implement design 里只有 translate,fit, 却没有 map ,place&route. 这是为什么呢 ? 请大侠们帮忙答疑解惑 ! 原来用的上 xc9500xl 系列 的 xc9572xl,结果怎么都没有 place&route. 后来换成 virtex2 系列的 xc2v80 就出现 了 , 这是什么原因 ?
答 :cpld 是没有 place&route,是 fit。
13、问:SpartanIII 芯片采用 master serial 方式配置时,是不是也需要通过下载电缆把数据下载到配置 ROM中?那么下载电缆应该如何连接?是采用 JTAG 方式吗?那 M2,M1,M0 应该设成什么?
答 : serial 串行。只需用到 d0。其他 d1-d7 可用于 user io。速度慢,不过一般选这个,Parallel 并行。需要用到 d0-d7. 速度快,如果 jtag 链有多于一个 FPGA,则第一个用 master,其他用 slave。如果只有一个就用 master。每个 FPGA 可以通过 m0,m1,m2 进行设置。配置 FPGA 或 prom 的时候都会用到 jtag。
一般调试的时候只需配置 FPGA 就可以了。实际使用时需要先配置 prom,这样每次加电时 FPGA 会自动从 prom 中加载配置文件。当然配置模式需要设对。
jtag 信号需要
tms - jtag 模式
tdi -输入
tdo -输出
tck - jtag 时钟
gnd -地
vcc -给 jtag 线缆供电。我用的是 2。5v 供电。不过也有 3.3v 供电的,需加串行电阻吧!配 spartan3 的时候 jtag 线缆很是个问题。最好选择 cable IV。
用 cableIII 的话可能会有问题,看你运气了,呵呵。
14、问 :PROM 中的配置数据是如何输入进去的呢?也是通过下载电缆吗?是不是先要把 M2,M1,M0 设成JTAG 模式,通过下载电缆把数据下载到 PROM 中,然后再把 M2,M1,M0 设成 Master Serial 模式,这样每次启动时配置 PROM 就可以自动加载数据了?
答 :jtag tdi---> tdi FPGA tdo---> tdi prom tdo--->jtag tdo.
在做原理图的时候 jtag 链需要将 FPGA 和 prom 链起来。这样 impact 就可以找到在 jtag 链上的 2 个设备。( 现在假设只有一个 fpag 和 prom)接下来你可以选择只用 bit 文件配置 FPGA,或者,事先用 impact 将 bit 文件生成一个 prom 配置的mcs 文件 ( 这里可以根据 serial 或者 Parallel 方式生成不同的 prom 文件 ),再用这个 mcs 文件配置prom。一般情况下设成 Master Serial 就可以了。在用 jtag 配置的时候这个模式好像没什么关系。现在我的 prom 还没焊上去呢。呵呵,所以不好说。你觉得不保险,就把 m0,m2 做成跳线。
15、问 :现在的 vhdl 语言编程很多是行为模式,请问如何估算程序会消耗的最大资源问题?考虑编程的资源消耗有些什么具体的方程式和经验?逻辑行为描述是否资源消耗很大,如何优化?
答 : 大部分是先选择同一系列较大的芯片来设计,综合后看报告,然后再根据实际情况移植。对于一个设计,消耗的资源不要超过 80%。还有就是一些 IP Core 生产向导的最后一步也会提示你消耗多少资源。
16、问 :FPGA 每次上电时,要从 PROM 中读取配置信息,那么一定需要时钟,该时钟是从哪里来的呢?FPGA 是否存在一个时钟振荡器来提供这一时钟?
答:master 的 FPGA 的 cclk 脚在上电的时候会自动产生配置时钟,这个时钟应该是内部 rc 电路产生的 ( 个人猜测 ),如果是由外部晶振产生的话,那没有晶体的系统 ( 比如差分接受数据 ) 不就用不了 FPGA 了?数据手册中有写 : Master Slave 主串 方式下 FPGA 自己产生时钟。不需要外接 RC。
17、问 :当 ise 调用 ip 核时,用 synplify 是不是不能综合 ip 核啊?只能用 xst?
答 :对于 IP 的综合,因为是加密,所以综合器都是认为是黑盒子。 对于综合器而言,它只用知道端口定义和名称就行了。所以,你在第三方综合工具,不能看到底层的结构,综合器没有对此综合。在下一步适配和布线,软件才将 IP 解析为硬件源语,形成硬件结构。在 Matlab 中使用 VHDL 或 Verilog 也是同样的。实际中, 我们关心的只是输入什么样的值,就能产生什么样的结果。 也是一种知识产权的保护措施。在赛灵思设备中,能够直接调用第三方工具。而在 Altera 设备中,需要在第三方工具中,生成网表文
件 edf 再到 Quartus 中进行适配布线。设计流程是这样的。
18、问 :我做的 ddr sdram 控制器 , 在软件仿真阶段完全正常 , 但是到了 FPGA 验证的时候出现了很奇怪的现象 :我的 FPGA 用了 4 片 DDR 并行工作 ( 就是当作一片 DDR 一样的发指令 ) 现在遇到的问题是发现在 active 后 , 连着 3 个 write, 然后一个 write with aotoprecharge,burstlength=4, 然后再读出来 ,发现其中有 3 片的数据在读写之后是一致的,然而,另外的一片的这 16 个数没有写进去。该现象与频率无关。然后在紧接着的地址上继续写 , 读,所有的数据都是正确的。我怀疑 initial 没有做好 , 加了
好多 refresh,precharte, 结果都一样,我很奇怪,为什么 3 个片子上的数据都是正确的,只有一个片子的前几位是错误的。有可能是 initial 没有做好?还是什么原因 , 各位大侠有没有遇到这种情况?我用开发板上提供的仿真程序 , 发现没有这种错误 , 对比 p&r 后的报告 , 我的程序和开发板上的时间参数差不多 ( 基本一致 )。暂时就能总结这么些现象 , 请各位大侠们指教一下,就是帮我猜猜也好,谢谢!
答:DDR SDRAM 的设计很关键的是物理层读数据如何捕获的问题。远远不止是 RTL coding 的问题。要做 DEBUG 首先要了解你的器件型号,时钟频率和 DDR SDRAM 器件型号。要关心所有的细节。DDR SDRAM 器件有工作频率下限,你的设计不会频率太低吧。
如果你的设计DDR SDRAM 频率不高,建议不用自己做了,用 XIILINX 网上公开的参考设计就可以了。至少可以参考 MIG 工具生成的代码,和你自己的代码进行对照,用于参考。上这个网页http://www.xilinx.com/products/d ... ce/xaw_dram_ddr.htm。然后注册并下载 Memory Interface Generator (MIG) 工具,有个中文网站也提供资料 http://www.21ic.com/news/n4748c89.aspx,不过不知道版本是不是最新的。另外,有一个叫做 MPMC 的 High Performance Multi Port Memory Controller (XAPP535) 可以直接拿过来用,连多端口访问仲裁器都带有了。
http://www.xilinx.com/gsrd/
http://www.xilinx.com/bvdocs/appnotes/xapp535.pdf   
如果怀疑是实际调试问题而非一般代码设计问题,建议 review 芯片的复位初始化过程,注意写模式寄存器之前需要足够的等待时间。可以从 micron 网站下载一个 芯片模型,例如 http://download.micron.com/downl ... ddr2/512Mb_ddr2.zip,做一个完整的 RTL 仿真,或者利用 MIG 生成的 TESTBENCH,把你自己的代码替换进去做前仿真。
19、问 :ADC 的采样速率为 250MHz, 希望用 FPGA 实现如下算法 :Pi=arctan[(Si+1+Si)/(Si+1-Si)],Si 和 Si+1 为相邻的两个采样点 .计算得到 N 个 Pi 的值后再累加 .
请问如果需要的数据点数为 100 点 , 可以在 1uS 内算出来吗 ? 如果可以 , 用哪个片子比较合适呢 ? 采用什么样的设计比较合适呢 ? 请高手指点 .
答 :1,如果是 ADC,Si 和 Si+1 为相邻的两个采样点 . 数字信号只能取“0”或“1”,有 4 种可能的情况,
可以用用查表法。
         2,楼主是不是要处理模拟信号,应该不是 1 中所描绘的那样。关注多少位的 ADC 啊,可以用 IPcore中的 cordic 模块,直接求。另外对于这个速度来说,可以选择 VII 以上的芯片,速度可以用 -7 或更高的,
只是建议 :
       1、赛灵思的 IPcore 中的 cordic 模块可以处理三角函数,开根号等,另外有专门的除法模块可以使用,先算除法,然后用 cordic 就可以了。
       2、对于 250M 的速度,个人觉得- 7 的速度可以了,当然,V4 中有更高速度等级的。如果你的后续处理要有 FIR 之类的操作,V4 中有号称可以处理 400M 速率的 FIR 滤波器。不过布线的时候要很注意,
接口设计可能有些困难。
20、问 :分频应该是个很简单的问题。但是我有些疑问,假如我的时钟是 2MHz,需要 8Kbps 的数据源,那么它们之间的分频是不是 211/23=256 次分频。定义一个 c(7 downto 0) 的计数器就可以了。但是 2MHz的时钟不是 2048KHz,而是 2000KHz?
答:一般来说,所说的时钟的 K,M 等应该跟数学上的概念一样,而对于计算机来说,仅在表示容量的概念上,K 才是 1024。

FPGA开发之问题二相关推荐

  1. (78)FPGA内部资源与FPGA开发流程-面试必问(二)(第16天)

    (78)FPGA内部资源与FPGA开发流程-面试必问(二)(第16天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)FPGA内部资源与FPGA开发流程-面试必问 ...

  2. FPGA实现VGA显示(二)——————color_bar显示及方框移动(参考开拓者FPGA开发指南)

    首先感谢所有开源分享资源的博主或者机构个人,这篇主要参考开拓者FPGA开发指南.通过分析代码,理清思路. 主要分为四个模块,顶层模块,时钟分频模块,VGA显示模块,VGA驱动模块.前三个模块在任何时候 ...

  3. FPGA新起点V1开发板(二)——Quartus II软件的安装和USB-BLaster驱动安装

    文章目录 一.Quartus II软件的安装 二.USB-BLaster驱动安装 一.Quartus II软件的安装 当然,这种东西我要是再写一遍就很无聊了,这里给出方法和连接 视频:Quartus ...

  4. DE1-SoC笔记(二)—SoC FPGA开发设计流程总结(de1教程2.1节)

    文章目录 1.所需要的软件 1.1 硬件设计部分 1.2 软件设计部分 1.3 putty 2.各软件的作用 3.SoC FPGA设计流程 3.1.用Qsys构建Hardware系统 3.2.生成Pr ...

  5. FPGA的设计艺术(2)FPGA开发流程

    前言 注:本文首发易百纳技术社区,文章链接:FPGA的设计艺术(2)FPGA开发流程 本文介绍整个FPGA设计流程以及设计FPGA所需的各个步骤-从一开始到可以将设计下载到FPGA的阶段.但是在此之前 ...

  6. fpga驱动rgb液晶屏_正点原子开拓者FPGA开发板资料连载第五十四章基于的数字识别实验...

    1)实验平台:正点原子开拓者FPGA 开发板 2)摘自<开拓者FPGA开发指南>关注官方微信号公众号,获取更多资料:正点原子 3)全套实验源码+手册+视频下载地址:http://www.o ...

  7. FPGA开发全攻略——概念篇

    原文链接: FPGA开发全攻略连载之一:FPGA为什么这么热? FPGA开发全攻略连载之二:为什么工程师要掌握FPGA开发知识? FPGA开发全攻略连载之三:FPGA基本知识与发展趋势(part1) ...

  8. FPGA开发全攻略——ISE基本操作

    原文链接: FPGA实战开发技巧(2) FPGA开发全攻略连载之十二:FPGA实战开发技巧(3) FPGA开发全攻略连载之十二:FPGA实战开发技巧(4) 5.2 如何进行FPGA设计早期系统规划 作 ...

  9. 【正点原子FPGA连载】第三十九章OV7725摄像头RGB-LCD显示实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1

    1)实验平台:正点原子新起点V2开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=609758951113 2)全套实验源码+手册+视频下载地址:ht ...

最新文章

  1. linux zip打包_还在百度Linux命令?推荐一套我用起来特顺手的命令!(JAVA)
  2. mongodb2.2.1安装
  3. 老牌开源Office操作组件NPOI现已支持.NET Core
  4. Python 字典推导式 - Python零基础入门教程
  5. 5m独享网站服务器,您真的需要独享5m云服务器吗?一文让您了解云服务器带宽计算方法,从此不再花冤枉钱...
  6. 河南省多校连萌(一) E题【kruskal】
  7. ffmpeg h264 解码 转
  8. linux之我常用的系统重要文件备份命令
  9. Python终端输出中文
  10. linux 文件夹中过滤文件内容,【shell】对指定文件夹中文件进行过滤,并修改文件内容的shell脚本...
  11. jemalloc 使用
  12. 不确定性Uncertainty
  13. nyoj 吃土豆 234 (双层DP)
  14. Advanced Computer Network Review(4)——Congestion Control of MPTCP
  15. 『淘宝十年技术路』读后想法
  16. spyglass CDC方法学
  17. 机器翻译评估标准介绍和计算方法
  18. Jeff的错题集(九):奥利给!
  19. 捕获窗口跳入跳出事件
  20. 27. Spark : org.apache.spark.sql.AnalysisException: Reference 'XXXX' is ambiguous

热门文章

  1. java继承构造方法调用顺序
  2. axis2在maven环境中的配置
  3. Practice03
  4. html 放大镜效果
  5. ubuntu 安装 monaco字体
  6. html5拖动鼠标直线,html5的鼠标拖拽
  7. 关于赠品,你送对了吗?
  8. 生活中,我最不喜欢的人
  9. Proxifier设置方法
  10. Java Date before和after 的使用