【FPGA】关于KC705开发板的差分时钟(主时钟为差分100M)

2023-10-15 14:20

本文主要是介绍【FPGA】关于KC705开发板的差分时钟(主时钟为差分100M),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

写作时间:2020-03-08

开发环境:vivado2019.1

readme:

最近在学习FPGA,第一个实例当然是流水灯了,我已经将之整理为博客。
FPGA实现led流水灯 (工程+代码)
这个工程,使用的开发板,给FPGA的主时钟是单端时钟,然而我想把这个工程套用在xilinx KC705上,发现不是那么顺利。

我自己的开发板,主时钟是单端时钟,如下图:
在这里插入图片描述

因为KC705上的主时钟是差分时钟,如下图:
在这里插入图片描述
在这里插入图片描述

对于差分时钟,我们需要在==.v文件约束文件xdc==中修改下,才可以生成bit正常。
1).v文件 修改如下:

`timescale 1ns / 1ps
//
// Company:
// Engineer:
//module run_led(input sys_clk_p,input sys_clk_n,input RSTn_i,output reg [3:0]LED_o
);
//*********差分时钟这么处理***********
wire  CLK_i;
//对差分时钟采用IBUFGDS IP核去转换
IBUFGDS CLK_U(
.I(sys_clk_p),
.IB(sys_clk_n),
.O(CLK_i)
);
//**********************************
reg [31:0] Cnt;
always @(posedge CLK_i )if (RSTn_i==1)//复位begin LED_o<=4'b0001;end
elsebeginif (Cnt==32'd200_000_000)beginCnt<=32'd0;if(LED_o==4'b1000)beginLED_o<=4'b0001;endelse  begin  LED_o<=LED_o<<1'b1;endendelsebeginCnt<=Cnt+1'b1;LED_o<=LED_o;endendendmodule

2)约束文件xdc 修改如下:

#vivado管脚约束XDC文件
#*********差分时钟这么处理***********
set_property PACKAGE_PIN AD12 [get_ports {sys_clk_p}]
#//只需要约束p端
set_property IOSTANDARD DIFF_SSTL15 [get_ports {sys_clk_p}]
#//注意这里的电平标准
set_property IOSTANDARD DIFF_TERM true [get_ports {sys_clk_p}]
#//只需要约束p端
set_property SEVERITY {Warning} [get_drc_checks UCIO-1]   
#//可以忽略掉drc error
#**********************************#rst_n
set_property PACKAGE_PIN AG5 [get_ports RSTn_i]
set_property IOSTANDARD LVCMOS15 [get_ports RSTn_i]
#LED_o
set_property PACKAGE_PIN AB9 [get_ports {LED_o[3]}]
set_property IOSTANDARD LVCMOS15 [get_ports {LED_o[3]}]
set_property PACKAGE_PIN AC9 [get_ports {LED_o[2]}]
set_property IOSTANDARD LVCMOS15  [get_ports {LED_o[2]}]
set_property PACKAGE_PIN AA8 [get_ports {LED_o[1]}]
set_property IOSTANDARD LVCMOS15 [get_ports {LED_o[1]}]
set_property PACKAGE_PIN AB8 [get_ports {LED_o[0]}]
set_property IOSTANDARD LVCMOS15 [get_ports {LED_o[0]}]#set_property CONFIG_MODE <configuration_mode> [current_design]
#set_property BITSTREAM.CENERAL.COMPRESS TRUE [current_design]
set_property CFGBVS VCCO [current_design]
set_property CONFIG_VOLTAGE 3.3 [current_design]

这样修改后,bit 生成正确,流水灯跑起来了哈~~

其他项目中,FPGA的时钟为差分时钟的时候,完全可以套用本文方法。

补充:
关于复位,说明如下:
在这里插入图片描述
GPIO_SW_E是直接连接到FPGA管脚上,下拉到地,按键断开时,常为低电平。按键按下闭合,为高电平。
我们想要实现的就是,按键按下,为高电平时候,进行复位。


THE END~
在这里插入图片描述

【MATLAB-app】系列教程(含视频)00_csdn上第一套关于matlab appdesigner系列“视频课”来啦~~

【图像算法&MATLAB】一文讲明白:图像的直方图均衡化(附作者自编源代码)

【探测器与相机标准】我对图像(图像传感器/相机)“非均匀性”的理解与学习笔记

这篇关于【FPGA】关于KC705开发板的差分时钟(主时钟为差分100M)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/218278

相关文章

QT移植到RK3568开发板的方法步骤

《QT移植到RK3568开发板的方法步骤》本文主要介绍了QT移植到RK3568开发板的方法步骤,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录前言一、获取SDK1. 安装依赖2. 获取SDK资源包3. SDK工程目录介绍4. 获取补丁包二

基于Canvas的Html5多时区动态时钟实战代码

《基于Canvas的Html5多时区动态时钟实战代码》:本文主要介绍了如何使用Canvas在HTML5上实现一个多时区动态时钟的web展示,通过Canvas的API,可以绘制出6个不同城市的时钟,并且这些时钟可以动态转动,每个时钟上都会标注出对应的24小时制时间,详细内容请阅读本文,希望能对你有所帮助...

第10章 中断和动态时钟显示

第10章 中断和动态时钟显示 从本章开始,按照书籍的划分,第10章开始就进入保护模式(Protected Mode)部分了,感觉从这里开始难度突然就增加了。 书中介绍了为什么有中断(Interrupt)的设计,中断的几种方式:外部硬件中断、内部中断和软中断。通过中断做了一个会走的时钟和屏幕上输入字符的程序。 我自己理解中断的一些作用: 为了更好的利用处理器的性能。协同快速和慢速设备一起工作

poj 3159 (spfa差分约束最短路) poj 1201

poj 3159: 题意: 每次给出b比a多不多于c个糖果,求n最多比1多多少个糖果。 解析: 差分约束。 这个博客讲差分约束讲的比较好: http://www.cnblogs.com/void/archive/2011/08/26/2153928.html 套个spfa。 代码: #include <iostream>#include <cstdio>#i

poj 3169 spfa 差分约束

题意: 给n只牛,这些牛有些关系。 ml个关系:fr 与 to 牛间的距离要小于等于 cost。 md个关系:fr 与 to 牛间的距离要大于等于 cost。 隐含关系: d[ i ] <= d[ i + 1 ] 解析: 用以上关系建图,求1-n间最短路即可。 新学了一种建图的方法。。。。。。 代码: #include <iostream>#include

POJ 1364差分约束

给出n个变量,m个约束公式 Sa + Sa+1 + .... + Sa+b < ki or > ki ,叫你判断是否存在着解满足这m组约束公式。 Sa + Sa+1   +   .+ Sa+b =  Sum[a+b] - Sum[a-1]  . 注意加入源点n+1 。 public class Main {public static void main(Strin

开发板NFS挂载文件目录

文章目录 序NFS1. 安装 NFS 服务器和客户端在服务器上(NFS 服务器端)在客户端上(NFS 客户端) 2. 配置 NFS 服务器创建共享目录编辑 `/etc/exports` 文件启动 NFS 服务 3. 在客户端挂载 NFS 共享创建挂载点挂载 NFS 共享验证挂载 4. 设置开机自动挂载5. 解决权限问题 序 本节主要实现虚拟机(服务器)与开发板(客户端)通过N

FPGA编译与部署方法全方位介绍

FPGA编译与部署是FPGA开发中的核心环节,涉及从代码编写、调试到将设计部署到FPGA硬件的全过程。这个流程需要经过创建项目、编写FPGA VI、模拟调试、编译生成比特流文件,最后将设计部署到硬件上运行。编译的特点在于并行执行能力、定制化硬件实现以及复杂的时钟管理。通过LabVIEW的FPGA模块和NI硬件,可以快速完成开发和部署,尤其适用于复杂控制与高性能数据处理系统。 1. FPG

FPGA开发:条件语句 × 循环语句

条件语句 if_else语句 if_else语句,用来判断是否满足所给定的条件,根据判断的结果(真或假)决定执行给出的两种操作之一。 if(表达式)语句; 例如: if(a>b) out1=int1; if(表达式)         语句1; else         语句2; 例如: if(a>b)out1=int1;elseout1=int2; if(表达式1) 语句1; els

安卓开发板_联发科MTK开发评估套件串口调试

串口调试 如果正在进行lk(little kernel ) 或内核开发,USB 串口适配器( USB 转串口 TTL 适配器的简称)对于检查系统启动日志非常有用,特别是在没有图形桌面显示的情况下。 1.选购适配器 常用的许多 USB 转串口的适配器,按芯片来分,有以下几种: CH340PL2303CP2104FT232 一般来说,采用 CH340 芯片的适配器,性能比较稳定,价