首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
fpga contraints 怎么写
2024-11-04
FPGA时序约束理解记录
最近整理了一下时序约束的内容,顺便发出来分享记录一下. 任何硬件想要工作正常,均需满足建立和保持时间,至于这个概念不再陈述. 下面将重点介绍两个概念:建立余量和保持余量.FPGA内部进行时序分析无非就是计算这两个余量,为正,则时序满足要求,否则不满足. FPGA在与外部期间打交道时,端口如果为输入则与input delay约束相关,如果最为输出则output delay,这两种约束的值究竟是什么涵义,下文 我也会重点刨析,但是前提是需要理解图1和图2建立余量和保持余量. 建立余量:不考虑clk_
学习FPGA有必要写SDRAM控制器吗?
在学习FPGA的过程中,注意是在学习过程中,联系FPGA的使用技巧,强烈建议尝试设计一个SDRAM控制器,不要使用IP核. 学习SDRAM控制器设计,能让你掌握很多知识. 更好的使用状态机去精准控制时序. 学会高速设计中必要的技能,也就是时序约束方法,timing report的阅读方法,查找时序问题的基本技巧,复位方案和时钟方案的合理设计,如何优化代码提升系统最高工作时钟,以及testbench的写法. 写sdram控制器还是能锻炼不少典型技能的,值得去花时间思考尝试,性价比是可取的. 设计流
Altera FPGA SoC搭建步骤
Altera SoC 官方搭建指南: https://rocketboards.org/foswiki/Documentation/EmbeddedLinuxBeginnerSGuide 官方文档中除了讲解搭建方法之外,还有很多原理性的介绍,感兴趣的朋友可以自己阅读. 准备工作: 1. 安装Altera官方提供的IDE (Quartus 和 SoC EDS), 不需要安装DS-5. 文档中的工作是基于v15.0版本 2. 一块FPGA SoC开发板.官方Guide中的硬件平台是友晶系列的DE0-
【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十:PS/2模块④ — 普通鼠标
实验十:PS/2模块④ - 普通鼠标 学习PS/2键盘以后,接下来就要学习 PS/2 鼠标.PS/2鼠标相较PS/2键盘,驱动难度稍微高了一点点,因为FPGA(从机)不仅仅是从PS/2鼠标哪里读取数据,FPGA还要往鼠标里写数据 ... 反之,FPGA只要对PS/2键盘读取数据即可.然而,最伤脑筋的地方就在于PS/2传输协议有奇怪的写时序. 图10.1 从机视角,从机读数据. 为了方便理解,余下我们经由从机的视角去观察PS/2的读写时序.图10.1是从机视角的读时序,从机都是皆由 PS2_CLK
SoC FPGA开发板的FPGA配置数据下载和固化
小梅哥编写,未经许可,严禁用于任何商业用途 2018年7月2日星期一 soc fpga的烧写和固化方式与传统的纯fpga固化方式即存在形式上的相同,也存在细节上的差异,特整理此文. AC501-SoC开发板在上电时能够根据启动设置开关的设置,选择从EPCS或者HPS中启动.具体是通过EPCS还是HPS启动,由一个6位拨码开关通过设置不同的值来决定. 配置方式 MSEL0~4 MSEL5 描述 AS 10010 未使用 FPGA从EPCS配置 FPPx32/ Compression Enable
SRAM的读写操作
自己写的SRAM的程序,主要在于实用性,适应工作的工程需要.使用芯片为: 芯片时序图为: 代码: /********************************Copyright************************************** **----------------------------File information-------------------------- ** File name : ZF_SRAM.v ** CreateDate :2014.11
zedboard 构建嵌入式linux
本文通过五部完成zedboard的嵌入式LINUX搭建,所谓磨刀不五砍材工嘛 1:系统环境搭建 要准备好交叉编译环境 见http://blog.csdn.net/xiabodan/article/details/22717175 2:编译u-boot 然后要准备好u-boot 可以首先 apt-get install git ,然后可以在xilinx git中下载相关的u-boot原码,git clone git://git.xiinx.com/u-boot-xarm.git 解压原码:如
RTC实时时间系统学习笔记(一)---------------UART串口
临近研三了,自己倾向于要找数字IC方面的工作,苦于教研室的项目一直都是调板子调板子调板子,真正用到FPGA的很少,,本着"工欲善其事必先利其器"的原则,在网上搜寻如何自学FPGA,一咬牙买了块黑金AX515,拿着上面的小例程一个个实现.第一个我觉得有必要记录一下的就是关于UART串口协议的实现. 由于之前也算接触了FPGA(教研室项目用到了Altera的Cyclone iV),所以拿到板子没有从第一个例程开始,直接上手RTC实时时钟系统的实现.先简单描述一下这个系统的功能(网上的资料大
Xilinx Vivado的使用详细介绍(4):Zedboard+vivado之流水灯(加SDK)
Vivado+zedboard之初学流水灯 Author:zhangxianhe 环境:vivado 2016.3(已验证适用于2015.4) 开发板:Zedboard version xc7z020clg484-1 实验:使用Vivado和SDK进行Zedboard开发,制作一个简单的流水灯程序以说明软硬件协同设计的方法.开发流程等. 本文将分为三个部分: 1. 使用Vivado创建一个工程,并构建一个Zynq嵌入式处理系统. 2. 在上述基础上,将完成后的硬件导入到SDK中进行软件设计. 3
PCIE的DMA和PIO介绍
墨尘 百家号01-2422:14 在PCIE中有两种数据传输方式: DMA(Direct Memory Access),直接内存访问,在该模式下,数据传送不是由CPU负责处理,而是由一个特殊的处理器DMA控制器来完成,因此占用极少的CPU资源. PIO(Programmed Input-Output),可编程输入输出,在该模式下,数据传送由CPU执行I/O端口指令来按照字节或更大的数据单位来处理,占用大量的CPU资源,数据传输速度也大大低于DMA模式.举例老说,在DMA方式下,如果copy文件的
PCIe调试心得_DMA part3
作者: East FPGA那点事儿 上一章讲述了PCIe总线如何提高DMA的效率. 本章以服务器常用的4通道1000M以太网卡为例讲述如何实现多个虚拟DMA通道. 1.多通道DMA发 4通道以太网卡的数据相互独立,需要4个虚拟DMA发通道实现4路数据独立传输.4个虚拟DMA发通道如下: 多通道DMA发比较简单,因为TLP包中已经包含了具体的物理地址,4个虚拟通道可以向4个不同的物理内存位置写数据.所以DMA发逻辑与单通道DMA发逻辑没有什么不同,关键点在增加的总线仲裁逻辑. 4个网口都有数据要
PCIe调试心得_DMA part1
作者 :East FPGA那点事儿 1.PCIe的DMA介绍在PCIe中需要使用DMA的项目,一定要先看XAPP1052,里面包含一个DMA的参考设计,对初学者有极大的帮助. XAPP1052中包含FPGA源代码和驱动程序源代码,其中FPGA源代码最主要的文件为:1.<TX_ENGINE.v>:是产生TLP包的逻辑,包含读TLP请求用于DMA读:写TLP请求用于DMA写:CPLD用于BAR空间读.2.<RX_ENGINE.v>:是解析TLP包的逻辑,包含读TLP解析用于BAR空间
【黑金原创教程】【Modelsim】【第三章】理想就是美丽
声明:本文为黑金动力社区(http://www.heijin.org)原创教程,如需转载请注明出处,谢谢! 黑金动力社区2013年原创教程连载计划: http://www.cnblogs.com/alinx/p/3362790.html <FPGA那些事儿-Modelsim仿真技巧>REV3.0 PDF下载地址: http://www.heijin.org/forum.php?mod=viewthread&tid=22492&page=1&extra=#pid16325
Linux低延迟服务器系统调优
最近做了一些系统和网络调优相关的测试,达到了期望的效果,有些感悟.同时,我也发现知乎上对Linux服务器低延迟技术的讨论比较欠缺(满嘴高并发现象):或者对现今cpu + 网卡的低延迟潜力认识不足(动辄FPGA现象),比如一篇知乎高赞的介绍FPGA的文章写到“从延迟上讲,网卡把数据包收到 CPU,CPU 再发给网卡,即使使用 DPDK 这样高性能的数据包处理框架,延迟也有 4~5 微秒.更严重的问题是,通用 CPU 的延迟不够稳定.例如当负载较高时,转发延迟可能升到几十微秒甚至更高”,刚好我前几天
S03_CH10_DMA_4_Video_Stitch视频拼接系统
S03_CH10_DMA_4_Video_Stitch视频拼接系统 10.1概述 注意:本课程和上一课程<S03_CH09_DMA_4_Video_Switch视频切换系统>基本相同,不同部分用紫色字体或者框图注明. PL通过 OV7725 OV7725 实时 采集 1路 64 0×480 0×480 视频,分别将原始彩色. 视频,分别将原始彩色. R分量. G分量. B分量作为常量输出,实现背景为红.绿.蓝 视频共4路视频通过4个独立的AXI DMA IP核传输至PS的DDR中进行缓存,然后
S03_CH09_DMA_4_Video_Switch视频切换系统
S03_CH09_DMA_4_Video_Switch视频切换系统 9.1概述 本例程详细创建过程和本季课程第一课<S03_CH01_AXI_DMA_LOOP 环路测试>非常类似,因此如果读者不清楚如何创建工程,请仔细阅读本季第一课时.本例程的基本原理如下. PL通过 OV7725 OV7725 实时 采集 1路 64 0×480 0×480 视频,分别将原始彩色. 视频,分别将原始彩色. R分量. G分量. B分量作为常量输出,实现背景为红.绿.蓝 视频共 4路视频通过 4个独立的 AXI
S03_CH08_DMA_LWIP以太网传输
S03_CH08_DMA_LWIP以太网传输 8.1概述 本例程详细创建过程和本季课程第一课<S03_CH01_AXI_DMA_LOOP 环路测试>非常类似,因此如果读者不清楚如何创建工程,请仔细阅读本季第一课时. 本例程的基本原理如下. PS通过AXI GPIO IP核启动PL不间断循环构造16bit位宽的0-1023的数据,利用AXI DMA IP核,通过PS的Slave AXI GP接口传输至PS DDR3的乒乓缓存中.PL每发完一次0-1023,AXI DMA IP核便会产生一个中断信
SPI通信实验---verilog(FPGA作为从机,使用可读可写)
本实验讲究实用性,故设计思想为:主机先向从机发送地址,若是向从机写入数据,则向从机发送数据,若是读取从机数据,则向从机发送时钟,然后在时钟下降沿读取数据即可.cs信号上升沿作为SPI通信的结束信号.rom程序只是做测试使用. 每次发送16个时钟信号,前八个是地址和命令,后八个是数据.其中:前8个时钟接受的数据的最高位决定着这次通信是读取数据还是写入数据,最高位为1,则是读取数据,为0则是写入数据. 程序: /********************************Copyright***
自己动手写CPU(基于FPGA与Verilog)
大三上学期开展了数字系统设计的课程,下学期便要求自己写一个单周期CPU和一个多周期CPU,既然要学,就记录一下学习的过程. CPU--中央处理器,顾名思义,是计算机中最重要的一部分,功能就是周而复始地执行指令.其实开始做这部分之前,想到CPU就觉得很麻烦,毕竟时计算机内部最重要的东西,但其实刨开来细看,也就慢慢地接受了,当然我现在也不能说是了如指掌,说简单,毕竟自己还处于学习阶段,甚至可能还没有入门.慢慢来吧,先从简单的开始,一步一个脚印,总能写成的.今天先写在具体写代码之前的思路和设计方案.
modelsim仿真正确FPGA运行不正确的可能原因 - cm4写寄存器错
困住整整一周了,工作进行不下去,中午偶遇导师,指导意见是有两种可能: 1. FPGA编译器优化代码,可以考虑把综合过程中所有的warning排查一下 2. verilog里有不可综合的语句. 又及,原有的功能模块完全正确,自己改写的不行,导师说那是自己写的时序不对,仿正确的模块看modesim里自己写的和正确的模块时序差在哪里,修改自己的. 添加各种(*keep="true"*),未果 排查所有warning,没看到会和这个问题相关 相信大神导师写的代码不会有问题 一下午加晚上各种
关于DE2-115 FPGA开发板无法烧写程序的解决方法
友晶科技推出的DE2-115 FPGA开发板,有时候莫名奇妙,无法烧写或者固化程序.利用JTAG 向DE2-115开发板烧写.sof文件失败,并提示以下错误,如图1和图2所示 图1 图2 解决方法:只要FPGA的JTAG相关引脚没有烧坏,将DE2-115开发板的拨码开关SW19由PROG拨到RUN,就可以烧写程序了,SW19具体位置如图3和4所示. 图3 图4
热门专题
vue3 Vetur配置
C# xnode 检索属性值
qt image上叠加image滚动文字
为什么火狐浏览器打不开XPI
idea nerdtree 插件
maven打包未更新仓库
组策略关闭固态模式是好是坏
php 读取 客户端 ukey
.net core npoi 导出 gdpi
rhel 没有注册不能使用yum
golang 图形化监控
怎么区分单体架构和垂直架构
Imaya的zlib如何使用
当p和q是一个大素数的时候,从它们的积pq去分解因子p和q
loadsh 菜鸟教程
千万数量级的MySQL配置文件
shell 查找目录下特定日期文件
ansible获取cmdb列表
jquery 动态时间 自动
windows添加路由接口不正确