Xilinx开发板初学者问题总结

合集下载

FPGA培训学习faq

FPGA培训学习faq

FPGA培训学习faqFPGA 学习中的FAQ1、在top 层文件中包含多个例化的module ,在top 层与module 之间传递参数时,所有参数设置成了reg 形式,Synplify 编译时提示ERROR :“Expecting wire for output connection ”解决:在module 之间传递的参数一般设置为wire 型变量。

2、在mealy 型状态机的设计中,当要求未提到的状态保持上次输出不变时,使用组合逻辑设计输出等于输出,编译结果产生锁存器。

解决:mealy 型状态机可以考虑采用三段方式描述,这样在最后输出端采用同步设计的话,很容易实现保持输出不变。

3、在异步fifo 的设计过程中,如何判断异常情况情况(读溢出和写溢出)进行复位,最初的方法是进行地址判断,但设计中采用了异步两级同步的方法,这样我就不知道当前的地址与我同步后地址之间的关系,有可能相同(-----没有地址操作),相差一个(同步过程中进行了一次地址操作),相差两个(同步过程中进行了两次地址操作),这样设计地址状态就无法准确判断。

解决:在空或满有效的信号的开始时刻对进行读写次数进行计数,到达一定数目(即我们的预留门限)时,复位。

4、 if(nums >200)||(nums < 300) 把这样的语句作为判断条件,编译器报错“near "||": syntax error, unexpected "||"”解决:if ((nums >200)||(nums < 300))5、if (address = 8’h21)编译出错解决:if (address == 8’h21)一定要用“==”6、在Altera 的2 PORTs RAM 的使能信号中,wr 和rd 有效电平是什么?w w w .m e g a n o v o .c o m解决:wr 和 rd 的有效电平为都为高电平7、在写testcase 时在写时钟的上升沿和读时钟的下降沿碰巧在一起,程序中在这两个边沿同时对一个变量进行赋值,这时就冲突了。

LX110T的板子上跑demo的时候遇到的一些错误的解决办法总结

LX110T的板子上跑demo的时候遇到的一些错误的解决办法总结

LX110T的板子上跑demo的时候遇到的一些错误的解决办法总结.前一段时间在玩xilinx送我在跑XUPV5-LX110T,首先跑xilinx给出的XUPV5-LX110T的demo设计,结果发现遇到了一些错误但是自己在网上发现很少有答案,就把自己的一些总结贴出来:(1)xupv5_bsb_std_ip时出现了问题,其错误描述如下:[xupv5_bsb_system.ucf(1110)]: NET xps_iic_0_Gpo_pin not found. Pleaseverify that:1. The specified design element actually exists in the original design.2. The specified object is spelled correctly in the constraint source file.IOSTANDARD=LVCMOS33; [xupv5_bsb_system.ucf(1111)]: NET xps_iic_0_Gpo_pinnot found. Please verify that:1. The specified design element actually exists in the original design.2. The specified object is spelled correctly in the constraint source file.make: *** [__xps/xupv5_bsb_system_routed] Error 1解决办法:打开xupv5_bsb_std_ip文件夹里面的xupv5_bsb_system.mhs文件,在其80行的位置,将PORT xps_iic_0_Gpo_pin = xps_iic_0_Gpo, DIR = O, VEC = [31:31]注释掉(即在前面加上#即可)或删除。

Xilinx实习一年总结

Xilinx实习一年总结

Xilinx实习⼀年总结从去年7⽉4号来到上海xilinx。

转眼间已经⼀年。

这⼀年学了⾮常多知识,也长了⾮常多见识。

去年七⽉⼀到公司,马上投⼊到摄像头-DDR-HDMI图像通路的研发中。

就是在ZEDboard板卡上。

通过外置摄像头採集图像,在PL部分将採集的像素数据进⾏拼接,转换成axi-stream格式。

然后存储到板卡上的DDR中。

由于同事之前做了⾮常多DDR部分的⼯作,因此我重点放在摄像头的FPGA驱动以及HDMI模块。

最后,在20天内算是不错的完毕了任务,并基于这个通路,做了⼀套机器视觉计分系统——这套系统在8⽉12号⽤在OpenHW开源硬件⽐赛的计分环节,达到了100%的识别率。

之后的9、10⽉份,重点学习HLS。

以及完毕乒乓球追踪平台产品的开发。

这套乒乓球追踪平台是⽤纯FPGA实现。

因此能达到快速的追踪速率。

从设计算法、写verilog代码。

到解决摄像头噪声问题、舵机选型、画PCB、写技术⽂档。

⾃⼰在这⼀套完整产品的开发流程中,也学会了不少和产品有关的开发经验。

10⽉依据⼤学计划这边的安排,做了⾮常多⼩project,⽐⽅FPGA⽰波器、字符识别、逻辑分析仪。

以及像是IIC、SPI、PS2等接⼝的verilog实现之类。

最后上传到了github。

11⽉、12⽉是蛋疼的⼀段时光,由于xilinx这边要调研两种其他公司的芯⽚。

我这边也分配到了⼀⼩部分的任务,但鉴于我的技术⽔平,实在是有点⼒不从⼼。

主要是參考各种技术⽂档。

记录參数,分析指标,预计性能,写报告。

最后,并不太理想的完毕了任务,由于我最后的分析结果有⼀部分被证明是错误的。

1⽉份的⼤部分时间⽤来写⽂档、整理,期间还做了⼀套纯FPGA实现的激光3D扫描器。

2⽉份将这套激光扫描器做到了ZYBO开发板上,实现了HLS处理图像、DDR存储。

年后的3、4、5⽉⽐年前轻松了很多,这段时间每天都抽⼀⼩时学英语,并在⼯作之余做了⼀些⾃⼰觉得⾮常有乐趣的东西。

Xilinx中DCM的问题解决方案

Xilinx中DCM的问题解决方案

Xilinx中DCM的问题解决方案引言概述:Xilinx中的数字时钟管理器(DCM)是一种重要的IP核,用于时钟生成和时钟管理。

然而,在使用DCM时,可能会遇到一些问题。

本文将介绍Xilinx中DCM的一些常见问题,并提供相应的解决方案。

一、时钟频率不稳定的问题1.1 DCM的时钟输入源不稳定- 检查时钟输入源的质量,确保其稳定性和准确性。

- 如果时钟源信号不稳定,可以考虑使用PLL(锁相环)来提供更稳定的时钟源。

1.2 DCM的锁定时间过长- 检查锁定时间是否超过了预期范围。

如果是,可以调整DCM的参数,如锁定时间窗口和锁定周期,以减少锁定时间。

- 确保DCM的输入时钟频率与其设计要求相匹配,避免频率过高或过低导致锁定时间延长。

1.3 DCM的时钟输出波形不稳定- 检查DCM的输出时钟是否正确连接到目标设备,并确保连接稳定。

- 考虑使用时钟缓冲器来提高输出时钟的稳定性。

二、时钟相位偏移的问题2.1 DCM的时钟输入相位不稳定- 检查时钟输入源的相位稳定性,确保输入时钟的相位偏移在可接受范围内。

- 考虑使用相位锁定环(PLL)来提供更稳定的时钟输入相位。

2.2 DCM的时钟输出相位不稳定- 检查DCM的输出时钟相位是否正确连接到目标设备,并确保连接稳定。

- 考虑使用相位锁定环(PLL)来提供更稳定的时钟输出相位。

2.3 DCM的时钟输出相位偏移过大- 检查DCM的参数设置,如时钟相位偏移窗口和时钟相位偏移周期,是否合理。

- 考虑使用相位锁定环(PLL)来提供更精确的时钟输出相位。

三、时钟频率变化的问题3.1 DCM的时钟输入频率变化过大- 检查时钟输入源的频率稳定性,确保输入时钟的频率变化在可接受范围内。

- 考虑使用频率锁定环(PLL)来提供更稳定的时钟输入频率。

3.2 DCM的时钟输出频率变化过大- 检查DCM的输出时钟是否正确连接到目标设备,并确保连接稳定。

- 考虑使用频率锁定环(PLL)来提供更稳定的时钟输出频率。

Xilinx中DCM的问题解决方案

Xilinx中DCM的问题解决方案

Xilinx中DCM的问题解决方案标题:Xilinx中DCM的问题解决方案
引言概述:
Xilinx是一家领先的可编程逻辑器件制造商,其数字时钟管理器(DCM)是一种常用的时钟管理器。

然而,在使用Xilinx中的DCM时,用户可能会遇到一些问题。

本文将为您介绍Xilinx中DCM的问题解决方案。

一、时钟频率不准确的解决方案
1.1 使用精确的输入时钟源
1.2 调整DCM的时钟分频器
1.3 校准DCM的相位偏移
二、时钟抖动问题的解决方案
2.1 降低输入时钟的噪声
2.2 使用低抖动的时钟源
2.3 调整DCM的锁相环参数
三、时钟干扰问题的解决方案
3.1 使用适当的电源和地线布局
3.2 使用抗干扰滤波器
3.3 调整DCM的时钟延迟
四、时钟漂移问题的解决方案
4.1 使用温度稳定的时钟源
4.2 定期校准DCM的时钟频率
4.3 调整DCM的自动校准参数
五、时钟相位问题的解决方案
5.1 使用相位锁定环(PLL)来处理相位问题
5.2 调整DCM的相位校准参数
5.3 使用外部时钟触发器来同步时钟信号
总结:
Xilinx中的DCM是一种强大的时钟管理器,但在使用过程中可能会遇到一些问题。

通过使用精确的输入时钟源、调整DCM的参数以及采取适当的电路设计措施,可以解决时钟频率、抖动、干扰、漂移和相位等问题。

通过掌握这些问题的解决方案,用户可以更好地应对Xilinx中DCM的挑战,并确保系统的时钟管理工作正常运行。

Xilinx ISE软件使用常见问题

Xilinx ISE软件使用常见问题

Xilinx ISE软件使用常见问题1、编译需要的库首先要将安装的ModelSim名目下的ModelSim.ini属性设置为存档类型(去掉只读).然后从DOS界面到ISE安装名目bin t(假如在Windows 的环境变量中已经设置过Xilinx路径,就不必了),运行指令:(for ISE 6)compxlib -s mti_se -f all -l all -p e:modeltech_6.0win32 -o e:modeltech_6.0xilinx_libs(for ISE 6)-p 指定modelsim安装名目-o 指定编译库输出名目(for ISE 7)compxlib -s mti_se -arch all -lib all -l all -p e:modeltech_6.0win32 -dir e:modeltech_6.0xilinx_libs (for ISE 7)-arch : device architecture:spartan2, virtex, etc.-lib : library: unisim, smartmodel, etc.新的版本把本来的-f拆开成了-arch和-lib,而-f则指读取文件,不过也还可以兼容本来的写法的编译之后,compxlib会自动修改modelsim.ini,重新打开ModelSim,就能看到新的库了2、ISE中一些常用的有用功能镜像:Project --> Take Snapshot,用这个很简单做版本控制;打包:Project --> Archive,将工程文件夹打包,便利转移与沟通3、门控时钟收拾与总结当综合器浮现这样的Warning时,即提醒发觉了门控时钟WARNING DesignRules:372 - Netcheck: Gated clock. Clock net_n0019 is sourced by a combinatorial pin. This is not good designpractice. Use the CE pin to control the loading of data into the flip-flop.假如一个时钟节点由组合规律驱动,那么它就形成了门控时钟了。

Xilinx中DCM的问题解决方案

Xilinx中DCM的问题解决方案引言概述:Xilinx中的数字时钟管理模块(DCM)是一种重要的电路设计模块,用于生成和管理时钟信号。

然而,在使用DCM的过程中,可能会遇到一些问题。

本文将针对Xilinx中DCM的问题提供一些解决方案,以帮助读者更好地应对这些问题。

正文内容:1. DCM的时钟频率不准确1.1 时钟输入源的干扰:检查时钟输入源是否受到干扰,如电磁干扰、时钟源的抖动等。

可以通过使用抗干扰滤波器或更换更稳定的时钟源来解决此问题。

1.2 DCM参数设置错误:检查DCM的参数设置是否正确,包括时钟分频比、锁定模式等。

确保参数设置与设计要求相匹配。

1.3 DCM的时钟延迟:DCM的时钟延迟可能导致时钟频率不准确。

可以通过调整DCM的延迟参数来解决此问题。

2. DCM的锁定时间过长2.1 锁定模式选择错误:选择适合设计要求的锁定模式,如精确锁定、快速锁定等。

不同的锁定模式具有不同的锁定时间,需要根据实际需求进行选择。

2.2 DCM的输入时钟源不稳定:检查输入时钟源的稳定性,如时钟源的抖动、频率波动等。

稳定的输入时钟源可以缩短DCM的锁定时间。

2.3 DCM的参数设置错误:检查DCM的参数设置是否正确,包括锁定时间的设置、锁定窗口的设置等。

确保参数设置与设计要求相匹配。

3. DCM的相位偏移问题3.1 时钟输入源的相位偏移:检查时钟输入源的相位偏移是否符合设计要求。

可以通过使用相位校正电路或更换更稳定的时钟源来解决此问题。

3.2 DCM的参数设置错误:检查DCM的参数设置是否正确,包括相位偏移的设置、相位校正的设置等。

确保参数设置与设计要求相匹配。

3.3 DCM的时钟延迟:DCM的时钟延迟可能导致相位偏移。

可以通过调整DCM的延迟参数来解决此问题。

4. DCM的功耗过高4.1 DCM的工作频率过高:降低DCM的工作频率可以减少功耗。

可以通过调整DCM的参数设置来降低工作频率。

4.2 DCM的电源噪声:检查DCM的电源噪声是否过高,如电源波动、电源纹波等。

Xilinx中DCM的问题解决方案

Xilinx中DCM的问题解决方案引言概述:
Xilinx中的数字时钟管理(DCM)模块是用于时钟生成和时钟分频的重要组件。

然而,在实际应用中,DCM模块可能会遇到一些问题,如时钟抖动、时钟漂移等。

本文将针对Xilinx中DCM模块常见的问题提出解决方案,以帮助工程师更好地应
对这些挑战。

一、时钟抖动问题解决方案:
1.1 调整DCM的时钟输入端口的时钟源。

1.2 调整DCM的锁定时间。

1.3 使用PLL锁相环模块来代替DCM模块。

二、时钟漂移问题解决方案:
2.1 调整DCM的时钟输出频率。

2.2 调整DCM的相位偏移。

2.3 使用外部时钟源来代替DCM内部时钟源。

三、时钟信号失真问题解决方案:
3.1 调整DCM的时钟延迟。

3.2 使用低抖动的时钟源。

3.3 使用时钟数据恢复技术来减小时钟信号失真。

四、时钟频率不稳定问题解决方案:
4.1 调整DCM的时钟输入端口的时钟源。

4.2 使用更高精度的时钟源。

4.3 调整DCM的锁定时间和时钟延迟参数。

五、时钟相位偏移问题解决方案:
5.1 调整DCM的相位偏移参数。

5.2 使用外部相位校准电路。

5.3 使用PLL模块来代替DCM模块进行时钟相位调整。

结论:
通过本文提出的解决方案,工程师们可以更好地解决Xilinx中DCM模块可能遇到的问题,确保时钟信号的稳定性和精确性。

同时,建议在实际设计中,根据具体情况选择合适的解决方案,以提高系统的性能和可靠性。

Xilinx公司FPGA设计技术问答精选

Xilinx公司FPGA设计技术问答精选Xilinx公司FPGA设计技术问答精选问:我在ISE4.1中,用fpga express verilog编译的某些文件,用modelsimxe只能前仿,不能后仿,不知5.1i是否有改进?答:4.1i支持用Modelsim XE实现行为级仿真和时间仿真,5.1I 也同样。

请用热线(china_support /doc/5d15151963.html)打开一个例子并在4.1i/Modelsim XE 运行时间仿真以解决你的问题。

问:和5.1结合比较好的验证工具除了Modelsim外,PC机上可运行的有什么?答:所有能接受Verilog/VHDL文件的仿真器都能使用。

但我们推荐使用Modelsim仿真器,因为Modelsim把ISE输出的.doc文件用做脚本,此外,Modelsim XE专为Xilinx器件提供了预编译的库。

问:ISE在综合的时候,把很多中间信号、特别是组合逻信号都综合掉了(或改名了),这样在后仿的时候造成了很大的不便,请问如何避免这一问题?答:可以使用Keep Hierachy 选项并且在你的综合工具以及我们的布局布线工具里保持网络名选项,这样就可以在你的设计里看见和你以前的同样的网络名。

要获得更多的帮助,可以同你的FAE或者在网上发EMAIL给china_support /doc/5d15151963.html。

问:Data2BRAM可以简化哪些工序?答:Data2BRAM 提供了一种简便的方法用以修改BlockRAM的内容而不需要预编译你的整个设计。

Data2BRAM的创建可以方便地把CPU软件镜象同FPGA的位数据流相结合并且可以从BlockRAM的内部地址空间执行软件。

当你用Xilinx的Microblaze 的软CPU核或VirtexIIPro的内嵌PowerPC核进行设计时这一点尤其有用。

问:毛刺有何比较好的消除方法。

实现加法,利用ieee.std_logic_signed.all中的'+',a<;=b+c;是否是最佳方案。

FPGA问题汇总

可编程逻辑器件设计技巧1. 什么是.scf?答:SCF文件是MAXPLUSII的仿真文件, 可以在MP2中新建.1.用Altera_Cpld作了一个186(主CPU)控制sdram的控制接口, 发现问题:要使得sdram 读写正确, 必须把186(主CPU)的clk送给sdram, 而不能把clk经cpld的延时送给sdram.两者相差仅仅4ns. 而时序通过逻辑分析仪测试没有问题. 此程序在xilinx器件上没有问题. 这是怎么回事?答:建议将所有控制和时钟信号都从PLD输出, 因为SDRAM对时钟偏移(clock skew)很敏感, 而Altera的器件PLL允许对时钟频率和相位都进行完全控制. 因此, 对于所有使用SDRAM的设计, Altera的器件PLL必须生成SDRAM时钟信号.要利用SDRAM作为数据或程序存储地址来完成设计, 是采用MegaWizard还是Plug-In Manager来将一个PLL在采用Quartus II软件的设计中的顶层示例?可以选择创建一个新的megafuntion变量, 然后在Plug-In manager中创建ALTCLKLOCK(I/P菜单)变量. 可以将PLL 设置成多个, 或是将输入划分开来, 以适应设计需求. 一旦软件生成PLL, 将其在设计中示例, 并使用PLL的“Clock”输出以驱动CPU时钟输入和输出IP引脚.2.在max7000系列中, 只允许有两个输出使能信号, 可在设计中却存在三个, 每次编译时出现“device need too many [3/2] output enable signal”. 如果不更换器件(使用的是max7064lc68). 如何解决这个问题?答:Each of these unique output enables may control a large number of tri-stated signals. For example, you may have 16 bidirectional I/O pins. Each of these pins require an output enable signal. If you group the signals into a 16-bit bus, you can use one output enable to control all of the signals instead of an individual output enable for each signal. (参考译文:这两个独特的输出使能中每个都可能控制大量三相信号. 例如, 可能有16个双向I/O引脚. 每个引脚需要一个输出使能信号. 如果将这些信号一起分组到一个16位总线, 就可以使用一个输出使能控制所有信号, 而不用每个信号一个输出使能. )3.关于vhdl的问题:process(a, b, c) begin… end process; 如果a、b、c同时改变, 该进程是否同时执行三次?答:PROCESS STATEMENTS 中的执行跟逻辑有关系, 假如是同步逻辑, 则在每次时钟的触发沿根据A, B, C的条件来执行一次;假如是异步逻辑, 则根据判断A、B、C的条件来执行. 一般我们都推荐使用同步逻辑设计4.在设计最初, 由于没有将时钟信号定义在全局时钟引脚上, 导致MAXPLUS II 在时间分析时提示错误:(时钟偏斜加上信号延迟时间超过输入信号建立时间). 全局时钟引脚的时钟信号到各个触发器的延时最小, 有没有可能通过编译软件设置, 将普通I/O脚上的时钟信号也经过芯片内部的快速通道以最小的延迟送到每个触发器时钟引脚?答:you can register that signal and assign it as the global signal, by the step flow: assign->logic option->Individual logic options->Global signal. But you'd better input the clock signal through the dedicated input pin. (参考译文:可以寄存这个信号, 并将它指定为全局信号, 步骤如下:指定—>逻辑选项—>个别逻辑选项—>全局信号. 但是, 最好通过专用输入引脚输入时钟信号. )5.用MaxplusII 软件设计完后, 用Delay Matrix查看延迟时间. 由于内部触发器的时钟信号用了一个输出引脚的信号, 譬如将一引脚ClkOut定义为Buffer, Clkout是一时钟信号, 然后反馈到内部逻辑, 内部逻辑用此信号作为时钟信号, 但用Delay Matrix, 却查看不到一些信号相应于ClkOut的延迟, 因为ClkOut是一Output引脚, 在Delay Matrix source 一栏中没有ClkOut信号, 如何解决这个问题?答:这种做法在逻辑设计中称为GATE CLOCK, 所谓GATE CLOCK就是将设计中的组合逻辑结果拿来做时钟信号, 这是一种异步逻辑设计.现在都推荐使用同步逻辑设计方法. 可以将该信号(CLKOUT)拿来作使能信号, 即ENABLE信号, 而时钟信号还是采用原来的统一时钟, 使设计用尽量少的同步时钟, 这样一来就还是用DELAY MATRIX来分析原有的时钟.6.我是一个epld的初学者, 目前看到xilinx的Virtex-II中嵌入大量的资源如:powerpc、ram 等, 究竟如何在fpga中使用这些资源?答:Xilinx Virtex-II中嵌入的资源非常丰富, 如BlockRAM、Digital Clock Manager、On-chip termination等等. ISE 4.2i软件完全支持这些资源. 可以举出单元库中相应基本数据的实例. Xilinx Core Generator中也还支持BlockRAM等特性. 至于PowerPC和MGT设计, 可以使用Virtex-II Pro开发者套件.7.在设计中, 往往需要对某个信号做一定(任意长)的延时, 有没有好的方法来实现?而不是采用类似移位寄存器的方法来延时.答:使用移位寄存器在FPGA中对信号进行延时是一种好方法. Xilinx Virtex架构中每个对照表(LUT)都能够设置成为具有可编程深度(最多为16)的移位寄存器. 这就提供了一种高效的途径来在FPGA中实现移位寄存器. 无须使用触发器就可以实现一个16位寄存器. 作为一个好的设计习惯, 任何情况下都不要通过闸延迟来实现延迟逻辑.8.ISE中的PAD TO PAD CONSTRAINT 是否是包括输入输出的pad时延之和再加上输入输出之间的组合逻辑的时延?还是只是输入输出之间的组合逻辑的时延?答:Xilinx PAD-to-PAD contraint的确涉及到输入输出PAD时延. 这从布局后时序报告中可以看出.9.由于现在的设计基本上都是同步设计, 那么PAD TO PAD CONSTRAINT 在什么情况下使用?答:虽然现今多数设计都是完全同步, 但仍有一些情况需要从一个输入引脚到另一个输出引脚的纯粹组合路径. 因此, 仍然需要PAD-to-PAD constraint控制这些路径的时延.10.如何在ISE 中看到PAD TO PAD 的布线情况?答:通常不必在意信号在FPGA内的路线, 只要它涉及到时序问题. 这种工具将对以优化的方式对设计进行路由. 如果希望检查具体路由, 可以使用Xilinx FPGA Editor, 它包含在ISE4. 2i软件中.11.在Xilinx Foundation 3. 1i下用JTAG PROGRAMER下载程序到芯片中, 可是总是出现如下错误:If the security flag is turned on in the bitstream, programming status can not be confirmed;others, programming terminated due to error. 测量电路信号, 没有相应的波形, 显然下载没有成功. 所用的芯片是:Xilinx Spartan2 XC2S50TQ144. 怎么解决?答:This is a security feature. By disabling readback, the configuration data cannot be read back from the FPGA. This prevents others from pirating your intellectual properties. You can enable or disable this feature during bitstream generation.The proper way to determine if the configuration is finished without error is to check the status of the DONE pin on the FPGA. DONE pin should goes high if the bitstream is received correctly. Also, since you are using JTAG configuration, please make sure you have selected JTAG clock (not CClk) as your Startup clock during bitstream generation. (参考译文:这是保密功能. 通过禁用回读, 配置数据不能从FPGA回读. 这可以防止其他人盗用你的成果. 在生成位元流过程中, 可以启用或禁用这个功能.确定配置是否准确无误地完成, 适合的方法就是检查FPGA上DONE引脚的状态. 如果正确地接收了位元流, 则DONE引脚将会升高. 而且, 既然使用JFAG配置, 就要确保在生成位元流过程中, 已经将JGAG时钟(而不是CClk)选作了Startup时钟. )12.Xilinx Virtex架构中每个对照表(LUT)都能够设置成为具有可编程深度(最多为16)的移位寄存器. 可否理解为, 在写设计的时候如果设计了一个深度不大于16位的移位寄存器, ISE综合时就会用一个LUT来替代它?答:Most synthesis tools (e. g. Synplify Pro, Xilinx XST) are able to infer LUT based shift register (SRL16E) from your source code. Even for depth greater than 16, the tool is smart enough to infer multiple SRL16E to realize the shift register. Another way to utilize this feature is to instantiate an SRL16E in the source code. You can refer to the Library Guide in the Xilinx ISE software package for more details. (参考译文:大多数综合工具, 例如Synplify Pro和Xilinx XST, 都能根据源代码中的移位寄存器SRL16E来推断 LUT. 即使是深度大于16的情况, 此类工具也能够推断出多SRL16E, 从而实现移位寄存器. 利用此功能的另一种途径是在原代码中例示一个SRL16E. 详细说明可以参考Xilinx ISE软件包中的库指南. )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不是简单的组合逻辑。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

开发板初学者问题总结
1. Impact软件或者ISE软件停止工作
系统升级了Win10,安装ISE14.7后发现了一些问题,影响了软件的使用,非常不爽,检索了网上的解决信息,尝试了一些方法,基本解决了问题,先总结如下:
1.ISE(64bit)软件在进行打开文件或文件夹操作时,软件出现闪退的现象,ISE (32bit)没有这个问题。

解决方法:
找到程序安装路径下的这两个文件夹
X:\Xilinx\14.7\ISE_DS\ISE\lib\nt64
X:\Xilinx\14.7\ISE_DS\common\lib\nt64
首先在第一个文件夹中,重命名libPortability.dll为libPortability.dll.orig,然后复制libPortabilityNOSH.dll 的一个副本并重命名为libPortability.dll,这样你就又有一个libPortability.dll文件了;然后在第二个文件夹,将之前得到的新的libPortability.dll覆盖到这个文件夹中。

EDK没有libPortabilityNOSH.dll这个文件,把ISE的复制过来就可以了
2.Xilinx下载电缆找不到的问题
原先在Win7下电缆去驱动是自己安装的,没有这个烦恼,Win10下虽然也会自己安装,但是在iMpact或ChipScope下面会提示找不到电缆错误。

解决方法:进入这个目录:X:\Xilinx\14.7\ISE_DS\common\bin\nt64
双击install_drivers.exe,如果电脑有连接Cable请按照提示断开连接,安装完毕后就可以正常使用了。

解决办法:因为ISE 64位软件和win10/win8系统不太兼容,需要打开ISE 32位软件,再打开ISE开发环境下的Impact工具。

3. ISE安装后无法打开
有安装完 ISE软件后,打开时显示Clip host, 如下图。

解决办法:造成这个原因可能有以下几种,1:安装路径有中文;2:杀毒软件删除了可执行文件;3:以前安装过其它软件的版本,没有卸载干净。

建议把以前没有卸载干净的ISE软件全部正常卸载,重启机子,安装时关闭杀毒软件,把ISE装在没有中文目录下,最好默认路径安装。

4. AX516/AX545以太网实验无法绑定MAC
以太网测试时,需要在电电脑上绑定FPGA的MAC地址和IP地址,绑定的时候出现“ARP 项添加失败:拒绝访问”或者“ARP 项添加失败:需要提升服务”
解决办法:需要用管理员权限打开CMD窗口。

如果还不行的话,先禁用网卡,再重新打开网卡。

5. 项目中不能有非法字符
如下图中,有用户把项目放在有非法字符的目录下(有空格),会提示错误!
6. 生成MCS文件下载后启动慢
有些用户用Bit文件转换成MCS文件并下载到FLASH中,但上电启动发现FPGA启动较慢。

这是因为需要在ISE生成Bit文件的时候配置Configuration的速度。

具体方法是:右键选择Generate Programming Files->选择Process Prorties, 再选择configration Optioans, 在Configration Rate里选择数字16,这个数字越大,速度越快。

7. 以太网视频传输
当打开以太网视频传输的上位机软件"NicWinPcap.exe"软件,提示找不到wpcap.dll
8. CP2102的驱动
有些电脑,尤其是win8,win10的电脑在安装CP2102驱动的时候会出现错误。

这时需要从silabs 官网下载最新的驱动。

/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx#windows
9. Mod elsim仿真
通常情况下一台电脑上即装有ISE,又装有quartus ii且二者的仿真库都在modelsim里编译好,在用modelsim仿真过quartus ii工程之后再用modelsim仿真ISE工程就会出现如题所示错误:Error: (vlog-19) Failed to access library 'rtl_work' at "rtl_work",
解决办法:
此时在modelsim界面的library栏处找到work(unavailable) library rtl_work,将其删除,即可进行ISE工程的仿真。

以后每次仿真过quartus ii工程之后再仿真ISE工程可能都会出现这种情况,那就每次都记得出现错误时就把work(unavailable) library rtl_work删除,再进行ISE工程的仿真
10. USB固件问题。

固件并下载到后,Device Name缺失
解决办法:
生成iic文件的问题,其中漏了-i -f 0xC2 ,导致烧录后USB设备没办法从EEROM 中读取VID PID
11. 开发板总是debug进不去主函数,偶尔能进去,总是出
现这种错误
解决办法:
断点和汇编窗口的问题,把断点与汇编窗口关掉就可以了,
12. 以太网通信MAC地址绑定
MAC地址绑定一次后,如果电脑重新后需要重新绑定MAC地址。

下面是对电脑永久MAC地址绑定的办法,比如您电脑只有一个本地连接,开发板是连接到电脑的这个本地连接的话。

我们用管理员权限打开命令窗口,然后输入以下的语句“netsh interface ipv4 set neighbors "本地连接" "192.168.0.2" "00-0a-35-01-fe-c0" store=persistent”后回车。

如果您的本地连接是“本地连接 1”,则只需要输入以下的语句“netsh interface ipv4 set neighbors "本地连接 1" "192.168.0.2" "00-0a-35-01-fe-c0"
store=persistent”后回车。

绑定后就永久生效了,重启电脑也不需要重新设置绑定MAC地址了。

相关文档
最新文档