xilinx

Synchronous vs Asynchronous Resets in FPGA system

依然范特西╮ 提交于 2019-12-02 20:50:48
问题 I'm new to creating a FPGA system to drive an I2C Bus (although I imagine that this problem applies to any FPGA system) using a variety of different modules, and which all use a synchronous reset. The modules are clocked using a clock divider module that takes the system clock and outputs a lower frequency to the rest of the system. The problem I'm having is, when the reset signal goes low, the clock divider resets, and therefore the clock that other modules depend on stop - thus the other

XILINX GTX学习笔记

[亡魂溺海] 提交于 2019-12-02 14:36:15
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/Real003/article/details/96010745 关于GTX接口网上理论的介绍有很多,以及IP核的配置介绍也有,但是没有人介绍说怎么封装用户的接口,我这里简单的说一种方法: 下面是网上搜集的一些GTX的相关资料链接: https://blog.csdn.net/weixin_42229533/article/details/86541557 ([ZYNQ入门宝典]GTX高速口怎么玩(一)) https://blog.csdn.net/weixin_42229533/article/details/86541970 ([ZYNQ入门宝典]GTX高速口带着IBERT一起玩(二)) https://blog.csdn.net/u010161493/article/details/77658599 (xilinx IP核配置,一步一步验证Xilinx Serdes GTX最高8.0Gbps) 一、GTX作为只传输数据,我们一般不走协议,为了采用更高的传输效率,采用64b/66b编码直接传输,每个通道传输的最大速率受参考时钟的影响,我的板子上的GTX参考时钟为100Mhz,每个通道的最大传输速率为2.5Gbps

xilinx FPGA普通IO作PLL时钟输入

不打扰是莪最后的温柔 提交于 2019-12-02 14:30:30
xilinx FPGA普通IO作PLL时钟输入 在xilinx ZC7020的片子上做的实验; [结论] 普通IO不能直接作PLL的时钟输入,专用时钟管脚可以; 普通IO可以通过BUFG再连到PLL的时钟输入上,但要修改PLL的设置 input clk的选项中要选择"No Buffer"; 具体内部布局分配可以通过 Xilinx的FPGA Editor来查看, ZYNQ的时钟管理也和之前的片子略有不同,之后在另一篇介绍,相关文档 <ug472_7Series_Clocking.pdf> [Demo1] 1 // demo1 two bufg connect 2 3 module iobuf( 4 5 input clk, 6 7 input rst, 8 9 output led 10 11 ); 12 13 wire clkin_w; 14 15 BUFG BUFG_inst ( 16 17 .O(clkin_w), // Clock buffer output 18 19 .I(clk) // Clock buffer input 20 21 ); 22 23 pll0 u_pll0( 24 25 .CLK_IN1(clkin_w), // IN 26 27 .CLK_OUT1(clkout), // OUT 28 29 .RESET(rst)); // IN 30 31

VHDL Place and route path analysis

南楼画角 提交于 2019-12-02 09:19:18
my problem is that when I implement my design using Xilinx ISE 14.7 + XPS I often obtain a very different number of analyzed paths in the static timing analysis, also having very few differences in the .vhd files. In particular, the only file that I change (or that I think to change...) is something like: entity my_entity is( ... data_in : in std_logic_vector(N*B-1 downto 0); ... ); end entity my_entity; architecture bhv of my_entity is signal data : std_logic_vector(B-1 downto 0); signal idx_vect : std_logic_vector(log2(N)-1 downto 0); signal idx : integer range 0 to N-1; ... begin process

最近几天关于FPGA的计划

被刻印的时光 ゝ 提交于 2019-12-01 16:20:42
最近一段时间的目标是,实现FPGA上的,以太网MAC接口, 刚刚我下载了《Xilinx系列FPGA芯片IP核详解 刘东华2013年》和《Xilinx FPGA应用进阶 通用IP核详解和设计开发》这两本讲解如何使用IP核的方法。 来源: https://www.cnblogs.com/zf007/p/11692715.html

How to check time performances in a C++ program on Zedboard

柔情痞子 提交于 2019-12-01 12:01:08
I have implemented a C++ code on a Zedboard. It compiles and runs perfectly, but now i would like to check the performances in order to optimize some functions. I have checked some threads here ( Testing the performance of a C++ app ) and here ( Timer function to provide time in nano seconds using C++ ), but i don't really understand how to apply it mon code ... To make things clear : I'm not good at C++, I have never really learned the language formally but only used it several times with specific libraries. I am not even the author of the code I'm using (given to me by the professors). My

Verilog multiple drivers

ぃ、小莉子 提交于 2019-12-01 11:41:06
I'm trying to make BCD Counter using Verilog that will be connected to 7-segment decoder. After I synthesize it, the error occured like this: Multi-source in Unit <BCDcountmod> on signal <BCD0<3>>; this signal is connected to multiple drivers.> **And more..... ***Any solution?* ( Here's my code below ) module BCDcountmod( input Clock, Clear, up, down, output [3:0] BCD1_1, BCD0_0 ); reg [3:0] BCD1, BCD0; //reg [3:0] BCD1_1, BCD0_0; always @(posedge Clock) begin if (Clear) begin BCD1 <= 0; BCD0 <= 0; end end always @(posedge up) begin if (BCD0 == 4'b1001) begin BCD0 <= 0; if (BCD1 == 4'b1001)

Verilog multiple drivers

烈酒焚心 提交于 2019-12-01 10:40:33
问题 I'm trying to make BCD Counter using Verilog that will be connected to 7-segment decoder. After I synthesize it, the error occured like this: Multi-source in Unit <BCDcountmod> on signal <BCD0<3>>; this signal is connected to multiple drivers.> **And more..... ***Any solution?* ( Here's my code below ) module BCDcountmod( input Clock, Clear, up, down, output [3:0] BCD1_1, BCD0_0 ); reg [3:0] BCD1, BCD0; //reg [3:0] BCD1_1, BCD0_0; always @(posedge Clock) begin if (Clear) begin BCD1 <= 0; BCD0

Xilinx COE文件格式小记

强颜欢笑 提交于 2019-12-01 10:15:17
官方的参考文档是: https://www.xilinx.com/support/documentation/sw_manuals/xilinx11/cgn_r_coe_file_syntax.htm Xilinx COE文件用来初始化ROM内容,设置固定系数FIR的系数,还有其他的功能。 COE文件中的数据格式可以是2(Binary),10(Decimal)或者16(Hex)。 下面是一个简单MIF COE的例子: memory_initialization_radix=2; memory_initialization_vector= 0, 0, 1, 0, 0, 1, 0, 1; 上面这个COE例子完成的是Memory Initialization,存储初始化。 下面是一个FIR COE例子: radix=10; coefdata= 8, 15, 25, 40, 62, 93, 135, 189, 255, 336, 431, 539, 659, 790, 929, 1073, 1220, 1364, 1504, 1634, 1752, 1854, 1936, 1997, 2034, 2047, 2034, 1997, 1936, 1854, 1752, 1634, 1504, 1364, 1220, 1073, 929, 790, 659, 539, 431, 336,

[Xilinx笔记] 《FPGA伴你玩转USB3.0与LVDS》 读书笔记

坚强是说给别人听的谎言 提交于 2019-12-01 09:41:48
2019年10月15日09:31:10 第一部分·哪些要看(优先级由高到低) 0、8.1 LVDS 数据收发实例 8.2 带 CRC 校验的 LVDS 数据收发实例 1、3.6 USB3.0 控制器 FX3 的 SDK 安装 ” 3.7 USB3.0 控制器 FX3 的驱动安装 5.4 UART 的 loopback 实例 2、7.1 基于 FX3 内部 DMA 的 USB 传输 Loopback 实例 7.2 FX3 的 SPI FLASH 代码固化 7.3 7.2 FX3 的 SPI FLASH 代码固化 整个第七章,看了7.1到7.3之后,再决定要不要把整个第七章看完。 3、6.1 DD R3 IP核配置与仿真”, 4、3.4节 Vivado 中使用 notepad++ 的关联设置 第二部分·笔记 来源: https://www.cnblogs.com/zf007/p/11675613.html