FPGA-Xilinx原语调用之ODDR】的更多相关文章

记录背景:最近由于想实现GMIItoRGMII的功能,因此需要调用ODDR原语. ODDR:Dedicated Dual Data Rate (DDR) Output Register 通过ODDR把两路单端的数据合并到一路上输出,上下沿同时输出数据,上沿输出a路下沿输出b路:如果两路输入信号一路恒定为1,一路恒定为0,那么输出的信号实际上就是输入的时钟信号. 调用的Verilog语句是: // ODDR: Output Double Data Rate Output Register with…
DCM_BASE 基本数字时钟管理模块的缩写,是相伴和频率可配置的数字锁相环电路,常用于FPGA系统中复杂的时钟管理.如需要频率和相位动态配置,则可以选用DCM_ADV原语,如需要相位动态偏移,可使用DCM_PS原语.Eg. DCM_BASE # ( .CLKDV_DIVIDE(2.0), //CLKDV分频比可以设置为1.5,2.5,3.0,3.5,14.0,15.0等 .CLKFX_DIVIDE(1), //can be any integer from 1 to 32 CLKFX信号的分配…
一直来,都是使用Vivado中自带的GMIItoRGMII IP核来完成GMII转RGMII的功能:尽管对GMII及RGMII协议都有一定的了解,但从没用代码实现过其功能.由于使用IP时,会涉及到MDIO配置IP寄存器的问题,觉得麻烦.因此决定用代码实现GMII转RGMII的功能. 参考Lattice的开源代码,进行移植.移植后在Vivado中进行编译时没有问题,但一旦进行实现(Implementation)时就会有如下错误: [Place 30-574] Poor placement for…
0. 简介 在使用QuartusII软件的过程中,经常地需要跑仿真,那么说到仿真就不得不说Modelsim这个仿真软件了,我们这里介绍下该软件在QuartusII中的使用方法. 1. 建立Quartus和Modelsim的连接      如果是首次使用,需建立连接.Tools->Options->EDA Tools Option,在Modelsim-Altera处选择应用软件路径.比如“D:\altera\13.0\modelsim_ae\win32aloem”这种. 2. 建立测试文件  …
原语,其英文名为primitive,是FPGA厂商针对其器件特征开发的一系列常用模块的名称.原语是FPGA芯片中基本元件,代表FPGA中实际拥有的硬件逻辑单元,如LUT,D触发器,RAM等.相当于软件中的机器语言.原语在设计中可以直接例化使用,是最直接的代码输入方式,原语和HDL原语的关系,类似于汇编语言和C语言的关系. Xilinx公司的原语按功能分为10类,包括计算组件.I/O端口组件.寄存器和锁存器(FPGA中有锁存器吗?).时钟组件.处理器组件.移位寄存器.配置和检测组件.RAM/ROM…
作者:桂. 时间:2018-02-06  17:52:38 链接:http://www.cnblogs.com/xingshansi/p/8423457.html 前言 到目前为止,本文没有对滤波器实现进行梳理,FIR仿真验证的平台(基于FPGA实现)包括HLS.Systemgenerator,至于*.v 与*.sv可通过程序(如python实现)完成转化,FIR的零散记录到本篇告一段落,本文重点记录DSP48E的使用 一.DSP48E A-基本结构 主要参考UG479.pdf,DSP48E1结…
要知道,要把一件事情做好,不管是做哪们技术还是办什么手续,明白这个事情的流程非常关键,它决定了这件事情的顺利进行与否.同样,我们学习FPGA开发数字系统这个技术,先撇开使用这个技术的基础编程语言的具体语法.使用工具和使用技巧不谈,咱先来弄清楚FPGA的开发流程是什么. FPGA的开发流程是遵循着ASIC的开发流程发展的,发展到目前为止,FPGA的开发流程总体按照图1进行,有些步骤可能由于其在当前项目中的条件的宽度的允许,可以免去,比如静态仿真过程,这样来达到项目时间上的优势.但是,大部分的流程步…
需求说明:Verilog设计 内容       :FPGA开发基本流程及注意事项 来自       :时间的诗 原文来自:http://www.dzsc.com/data/2015-3-16/108011.html 要知道,要把一件事情做好,不管是做哪们技术还是办什么手续,明白这个事情的流程非常关键,它决定了这件事情的顺利进行与否.同样,我们学习FPGA开发数字系统这个技术,先撇开使用这个技术的基础编程语言的具体语法.使用工具和使用技巧不谈,咱先来弄清楚FPGA的开发流程是什么. FPGA的开发…
欢迎大家关注我的微信公众账号,支持程序媛写出更多优秀的文章 FPGA的开发流程是遵循着ASIC的开发流程发展的,发展到目前为止,FPGA的开发流程总体按照下图进行,有些步骤可能由于其在当前项目中的条件的宽度的允许,可以免去,比如静态仿真过程,这样来达到项目时间上的优势.但是,大部分的流程步骤还是需要我们循规蹈矩的去做,因为这些步骤的输入是上一个步骤的结果,输出是下一个步骤的输入的关系,这样的步骤就必不可少了. 软件开发步骤       :    输入.    编译.   链接.        执…
一.前言 最近忙于硕士毕业设计和论文,没有太多时间编写博客,现总结下之前在某个项目中用到的一个高速ADC接口设计部分.ADC这一器件经常用于无线通信.传感.测试测量等领域.目前数字系统对高速数据采集的需求与日俱增,本文使用了米联客的一款速率较高的AD/DA模块ADQ9481来阐述利用FPGA设计高速ADC接口的技术要点. 二.ADC硬件特性分析 首先必须通过datasheet分析其核心参数.接口定义和时序要求.ADC9481的采样率为250MSPS,精度8bit.其原理结构图如下: 主要引脚说明…
xilinx公司的FPGA种类繁多,知道了命名规则,看起来应该会舒服很多. 1.xilinx的FPGA命名规则 Xilinx的ug112第一章中介绍了Xilinx公司的FPGA命名规则.一般而言,大的FPGA的上表面是这个样子的. 譬如,对于编号为XC4VLX60-10FFG668CS2的FPGA,器件类型是XC4VLX60-10,封装是FFG668CS2.具体而言 XC4VLX代表FPGA的家族,这里是指VIRTEX 4LX 60代表system gates或logic cells的数目,即6…
① secureip库:硬核(HARD IP)仿真(功能仿真和时序仿真)模型(hard IP simulation model),比如PowerPC.PCIE.SRIO.DDR等.Simulation models for the Hard-IP such as the PowerPC processor, MGT, and PCIe leverage this technology ②unisim(unisim_ver)库:xilinx 原语的功能仿真模型 ③unimacro(unimacro…
目录 1. 常见问题 2. 常见的复位方式 3. 合理的复位设计 3.1 复位电平 3.2 异步复位同步化 3.3 恰到好处的复位 4. 补充 4.1 所谓的上电初始化 参考文献 一开始接触到FPGA,肯定都知道"复位",即简单又复杂.简单是因为初学时,只需要按照固定的套路--按键开关复位,见寄存器就先低电平复位一次,这样一般情况可以解决99%的问题,甚至简单的设计,就不可能有问题.复杂是因为复位本身是对大规模的硬件单元进行一种操作,必须要结核底层的设计来考虑问题. 1. 常见问题 自…
作者:桂. 时间:2018-05-14  12:11:00 链接:http://www.cnblogs.com/xingshansi/p/9035522.html 前言 主要是Xilinx 常用模块汇总(verilog)[03]中双端口RAM的细节补充,限于篇幅,单独列出. 一.双端口RAM简述 具体细节参考ug473_7Series_Memory_Resources.pdf. 这里直接调用IP核. 二.IP核参数简述      A-Page1 Common Clock:同源时钟 Generat…
1.前言 MIZ7035官方提供了两种pcie的demo,一个就是普通的PIO测试,一个是BMD测试.我只是试验了PIO功能,可以对板卡直接进行IO寄存器读写.而另外一个BMD功能使用了DMA来加速数据读写速度. 我也是第一次接触PCIe,BMD确实也可以完成应用的需求,搞起来应该没有问题.准备用这个开始做实验呢,问了一下学校之前的第二导师,他直接给我说了5个字母:R-I-F-F-A.说让我去查一下,底层FPGA和上层软件都已经是一个完整的架构了,可以直接使用.既然老师说了,一定是这个方法可能更…
‘’16bits位宽寄存器,用五(六也行)级逻辑判断其中有15个0和1个1‘’,这么道题目,面试无数,几乎没有人能答出来,连给我衍生‘’14个0和2个1‘’的机会都没有. 今天的问题来源于知乎,某大牛说的面试题,据说很少有人给出正确答案.正确答案究竟是什么我也不清楚,我的目标是实现一个FPGA的版本,特记录于此. 说明一下问题,一个16bits的数输入,检查其中1的个数,如果为独热码,即16位中只有1位为1,则输出为1.题目乍看起来很简单,使用Verilog,可以很轻松实现,实现方法不在赘述.出…
[源码解析] PyTorch 如何使用GPU 目录 [源码解析] PyTorch 如何使用GPU 0x00 摘要 0x01 问题 0x02 移动模型到GPU 2.1 cuda 操作 2.2 Module 2.3 移动 2.3.1 示例 2.3.2 操作 2.3.3 _apply 方法 2.4 小结 0x03 在GPU之上调用函数 3.1 CUDA编程模型基础 3.1.1 异构模型 3.1.2 并行思想 3.1.3 处理流程 3.2 函数 3.2.1 核函数 3.2.2 PyTorch 样例 3.…
RFID读写器的工作原理 RFID的数据采集以读写器为主导,RFID读写器是一种通过无线通信,实现对标签识别和内存数据的读出和写入操作的装置. 读写器又称为阅读器或读头(Reader).查询器(Interrogator).读出装置(Reading Device). 扫描器(Scanner).通信器(Communicator).编程/编码器(Programmer)等等. 读写器工作原理 RFID读写器的基本原理是利用射频信号与空间耦合传输特性,使电子标签与阅读器的耦合元件在射频耦合通道内进行能量传…
Proxmark3 介绍 Proxmark3是由Jonathan Westhues设计并且开发的开源硬件,其主要用RFID的嗅探.读取以及克隆等的操作.其官方网站为:Jonathan Westhues个人网站 Proxmark3官网:PROXMARK.org Proxmark3销售网站:Proxmark3销售网站 The proxmark3 is a powerful general purpose RFID tool, the size of a deck of cards, designed…
1. 原语     ZigBee设备在工作时,各种不同的任务在不同的层次上执行,通过层的服务,完成所要执行的任务.每一层的服务主要完成两种功能:根据它的下层服务要求,为上层提供相应的服务:另一咱是根据上层的服务要求,对它的下层提供相应的服务.各项服务通过服务原语来实现.     可以把原语看作是API函数 是ZigBee中最基本的操作, 一般协议都有对原语进行程序实现 在自己开发系统时,只需要调用,设定参数就好了 .如果要自己实现底层的细节那就必须在开源的协议栈中,深入到原语的级别.也就是说,对…
MAC层是802.11的主要功能部分.上层应用通过调用MAC层提供的接口原语调用MAC层的功能. MAC一共向上提供了2大类接口原语,共30种.数据(1)和管理(29).数据部分就是提供普通数据包的收发接口,管理部分是主要功能部分,例如发起认证.连接.信道扫描等其它所有管理功能,如下表所示:(并非所有的原语都是可调用的,一部分是indication形式的向上通知.有request的是可以调用的()) 数据部分   数据 MA-UNITDATA 管理部分   电源管理 MLME-POWERMGT…
软件版本: Modelsim10.4SE ISE14.7 仿真IP:时钟管理IP(clock wizard)   流程: 1.对于Modelsim10.4SE,并不自带Xilinx家的仿真库,因此首先需要编译Xilinx家的器件仿真库: 仿真库解析: ① secureip库:硬核(HARD IP)仿真(功能仿真和时序仿真)模型(hard IP simulation model),比如PowerPC.PCIE.SRIO.DDR等.Simulation models for the Hard-IP…
GTX的生成(包括COMMON) 1.每一个GTX Quad需要一个GTX common,同时GTX common只包含有QPLL,不包含CPLL. 2.kintex-7设备只支持GTX 3.参考时钟的选择 TX的参考时钟为CPLL 时钟源为REFCLK1_Q0; RX的参考时钟为QPLL,时钟源为REFCLK0_Q0. 4.位宽等端口设定 5.COMMON端口声明 6.相关xilinx原语介绍 7.Common/ GTX /SDI Wrapper的连接图 8.SDI Pass-Through…
一:相关基本配置: FPGA:  XILINX XC5VFX130T-1FFG1738 PCI接口部分使用XILINX提供的pci32_v4_8硬核:PCI控制器由FPGA逻辑实现,主要完成PCI设备到内存的DMA读写操作.Ps:此控制器网表文件可付费购买(100元/份,支付宝账号:bubble_fish@yeah.net) 处理器:BM3803FMGRH 操作系统:Reworks/Vxworks 二:调试中遇到的问题 1. IDSEL引脚无信号输入 每个PCI设备都有一个IDSEL的输入信号,…
<果壳中的C# C# 5.0 权威指南> ========== ========== ==========[作者] (美) Joseph Albahari (美) Ben Albahari[译者] (中) 陈昇 管学理 曾少宁 杨庆川[出版] 中国水利水电出版社[版次] 2013年08月 第1版[印次] 2013年08月 第1次 印刷[定价] 118.00元========== ========== ========== [前言] C# 5.0 是微软旗舰编程语言的第4次重大升级. C# 5.…
Java基础知识总结(超级经典) 转自:百度文库 黑马毕向东JAVA基础总结笔记    侵删! 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java语言代码把思路体现出来. 学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意): 3,该技术怎么使用.demo 4,该技术什么时候用?test. ------------------------------------…
原理介绍 1.分频 FPGA设计中时钟分频是重要的基础知识,对于分频通常是利用计数器来实现想要的时钟频率,由此可知分频后的频率周期更大.一般而言实现偶数系数的分频在程序设计上较为容易,而奇数分频则相对复杂一些,小数分频则更难一些. 1)偶分频系数=时钟输入频率/时钟输出频率=50MHz/5MHz=10,则计数器在输入时钟的上升沿或者下降沿从0~(10-1)计数,而输出时钟在计数到4和9时翻转. 2)奇分频系数=50MHz/10MHz=5,则两个计数器分别在输入时钟的上升沿和下降沿从0~ (5-1…
对FPGA的全局时钟了解不多,遂转载一篇文档: http://xilinx.eetop.cn/?action-viewnews-itemid-42 目前,大型设计一般推荐使用同步时序电路.同步时序电路基于时钟触发沿设计,对时钟的周期.占空比.延时和抖动提出了更高的要求.为了满足同步时序设计的要求,一般在FPGA设计中采用全局时钟资源驱动设计的主时钟,以达到最低的时钟抖动和延迟. FPGA全局时钟资源一般使用全铜层工艺实现,并设计了专用时钟缓冲与驱动结构,从而使全局时钟到达芯片内部的所有可配置单元…
最近项目需要用到差分信号传输,于是看了一下FPGA上差分信号的使用.Xilinx FPGA中,主要通过原语实现差分信号的收发:OBUFDS(差分输出BUF),IBUFDS(差分输入BUF). 注意在分配引脚时,只需要分配SIGNAL_P的引脚,SIGNAL_N会自动连接到相应差分对引脚上:若没有使用差分信号原语,则在引脚电平上没有LVDS的选项(IO Planning PlanAhead). 测试代码: //////////////////////////////////////////////…
作者:九章子 来源:CSDN 原文:https://blog.csdn.net/jiuzhangzi/article/details/79471365 有的项目需要远程更新固件,更新完成后断电.重启即可.那远程更新是如何实现的呢?用的最多的应该是以太网或者自定义的局域网为主,当然还可以使用pcie.串口之类的,像xilinx还有golden image,以防止远程更新失败启动不起来,它主要是flash存有两个启动文件,正常情况下启动默认的,当默认的被损坏,就从备用的启动.本文章主要讲解的是STA…