本次设计源码地址:http://download.csdn.net/detail/noticeable/9914173 实验现象:通过串口将数据发送到FPGA 中,通过quartus II 提供的in system memory content editor 工具查看RAM中接收到的数据,当需要是,按下按键KEY0,将FPGA 的RAM 中存储的数据通过串口发送出去. 知识点: (1)存储器IP核的使用(2)in system memory content editor 内存查看工具的使用 系统…
学习目的: (1) 熟悉SPI接口和它的读写时序: (2) 复习Verilog仿真语句中的$readmemb命令和$display命令: (3) 掌握SPI接口写时序操作的硬件语言描述流程(本例仅以写时序为例),为以后描述更复杂的时序逻辑电路奠定基础. 学习过程: [SPI的相关知识] ① SPI的速度比串口的快,采用源同步传输的方式,且为串行传输,应用场景不同则时序和接口名称会有不同: ② 串行flash的读写擦除命令可通过SPI接口进行通信,CPU芯片与FPGA可通过SPI接口进行通信,某些…
学习目的: (1) 熟悉SPI接口和它的读写时序: (2) 复习Verilog仿真语句中的$readmemb命令和$display命令: (3) 掌握SPI接口写时序操作的硬件语言描述流程(本例仅以写时序为例),为以后描述更复杂的时序逻辑电路奠定基础. 学习过程: [SPI的相关知识] ① SPI的速度比串口的快,采用源同步传输的方式,且为串行传输,应用场景不同则时序和接口名称会有不同: ② 串行flash的读写擦除命令可通过SPI接口进行通信,CPU芯片与FPGA可通过SPI接口进行通信,某些…
FPGA内嵌收发器相当于以太网中的PHY芯片,但更灵活更高效,线速率也在随着FPGA芯片的发展升级.本文对7系列FPGA内部高速收发器GTP IP核的配置和使用做些简单的总结,以备后续回顾重用.本文是我在读ug482 pg168 官方文档和一些网络资源后的一些个人见解,希望对有需要的朋友有所帮助.我们来逐页分析下IP核配置先导中内容: 1 GT Selection: 我用的是Atrix-7系列FPGA芯片,只能使用速率较低的GTP 收发器,所以类型无法选择.GTP收发器在我这个芯片中最高线速率可…
打开 IP Catalog,搜索 Block Memory Generator,即可看到其 Memory Type 可分为 5 中,分别是单口 RAM(Single Port RAM).伪双口 RAM(Simple Dual Port RAM).真双口 RAM(True Dual Port RAM).单口 ROM(Single Port ROM).双口 ROM(Dual Port ROM). 单口 RAM 与伪双口 RAM.真双口 RAM 的区别在于: 单口 RAM 只有一个时钟(clka)(时…
在FPGA设计过程中,使用好双口RAM,也是提高效率的一种方法. 官方将双口RAM分为简单双口RAM和真双口RAM. 简单双口RAM只有一个写端口,一个读端口. 真双口RAM分别有两个写端口和两个读端口. 无论是简单双口RAM还是真双口RAM,在没有读操作的情况下,应将读使能rden信号拉成低电平,节省功耗. 在两种情况下,都应当避免read-during-write,虽然可在软件中进行设置,但是,作为设计者,应当尽量避免此种情况. 对于真双口RAM,还应当避免两个读端口或者两个写端口同时操作同…
硬件环境:ARM+FPGA通过FMC互联,STM32F767和 EP4CE15F23I7 FMC设置,STM的系统时钟HCLK为216MHz /* FMC initialization function */ void MX_FMC_Init(void) { FMC_NORSRAM_TimingTypeDef Timing; /** Perform the NOR1 memory initialization sequence */ hnor1.Instance = FMC_NORSRAM_DE…
单口与双口的区别在于,单口只有一组数据线与地址线,因此读写不能同时进行.而双口有两组数据线与地址线,读写可同时进行.FIFO读写可同时进行,可以看作是双口.    双口RAM分伪双口RAM(Xilinx称为Simple two-dual RAM)与双口RAM(Xilinx称为true two-dual RAM).伪双口RAM,一个端口只读,另一个端口只写:而双口RAM两个端口都可以读写.    FIFO也是一个端口只读,另一个端口只写.FIFO与伪双口RAM的区别在于,FIFO为先入先出,没有地…
实验现象: 核心代码: module DUAL_PORT_RAM( input CLK_12M, inout WR, input RD, input CS0, :]A, :]DB, output FPGA_LEDR, output FPGA_LEDG, output FPGA_LEDB ); //-------------------------------rst_n---------------------------------// reg rst_n; :]cnt_rst; always@…
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010161493/article/details/77658599   目录(?)[+]   之前用serdes一直都是跑的比较低速的应用,3.125Gbps,按照官方文档一步一步来都没出过什么问题,这次想验证一下K7系列GTX最高线速8Gbps,看看xilinx的FPGA是不是如官方文档所说. GTX速度到底可以跑到多少 关于器件速度的问题首先找到 ds182->Kintex-7 FPGAs…
下面我们进入双端口RAM和多模块存储器的学习.这是提高我们的存储器的访存速度的一些措施. 我们之前已经讲过我们的主存和CPU是进行连接的,那么这就导致了一个问题就是说,随着我们现代科技的发展,计算机的应用领域在不断地扩大,我们所处理的信息量呢也越来越多,所以呢我们的CPU的功能在不断地加强,我们主存的这样一个容量也在不断地扩大,这就导致了一个问题就是说我们的CPU的速度和我们的主存速度是不匹配的,CPU的速度的增长是一个指数级别的增长,而主存的速度的增长只是一个线性的一个增长.所以,我们现在要解…
实验现象: 核心代码: int main(void) { /* USER CODE BEGIN 1 */ int i; int address,data; ; ]; ]; char *p; /* USER CODE END 1 */ /* MCU Configuration----------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash i…
// Quartus II Verilog Template// Simple Dual Port RAM with separate read/write addresses and// single read/write clock module simple_dual_port_ram_single_clock#(parameter DATA_WIDTH=8, parameter ADDR_WIDTH=6)( input [(DATA_WIDTH-1):0] data, input [(A…
实验指导书及代码包下载: http://pan.baidu.com/s/1pLReIc7 iCore3 购买链接: https://item.taobao.com/item.htm?id=524229438677…
一.Quartus 1.打开Quartus ii,点击Tools---MegaWizard Plug-In Manager 2.弹出创建页面,选择Creat a new custom megafunction variation,点Next 3.选择IP核,可以直接搜索ram,选择RAM:2-PORT,右上方选择器件型号,语言选成Verilog,再填写一下路径名字,点Next,后面就是参数设置了. 4.设置读写需要几个端口,深度计算按word还是bit.Next 5.设置深度,位宽,类型.Nex…
之前在使用Altera的三速以太网MAC IP的基础上,完成了UDP协议数据传输.此次为了将设计移植到xilinx FPGA上,需要用到xilinx的三速以太网MAC IP核,当然也可以自己用HDL编写,但必须对数据链路层协议有非常清晰的认识.以下是在使用xilinx 三速以太网MAC过程中的一些记录和总结. 在使用IP核传输数据之前要对MAC层功能有个了解.MAC层功能用一个词概括就是"成帧解帧",具体来讲TX方向对用户侧发送来的MAC帧添加前导码和帧尾校验和,对长度过短帧会在帧尾填…
FIFO IP核仿真 1.FIFO IP核配置 2.FIFO测试逻辑代码 首先往FIFO里面写入512个数据(FIFO深度的一半),然后再开始同时往FIFO里面写入,读出数据.FIFO读和写的时钟域不同,对于不同时钟域的信号应该进行区分,状态机也应该分开来写. `timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: //…
本工程基于以下条件使用: 板卡:DBF板v3.0 芯片型号:Virtex6 315T ISE版本:14.7 IP核版本: v6_gtxwizard : 1.12 一.IP核配置进行流程 第一页配置:线速率和编码 TX.RX的 Line Rate .Data Path Width .Reference Clock根据项目的实际情况进行选择 Reference Clock :表示 外界时钟输入给GTX模块的参考时钟 注: 红色框代表必须按照截图设置. 绿色框代表根据项目需求进行设置. 黄色框代表,可…
最近学习了DDR3控制器的使用,也用着DDR完成了一些简单工作,想着以后一段可能只用封装过后的IP核,可能会忘记DDR3控制器的一些内容,想着把这个DDR控制器的编写过程记录下来,便于我自己以后查看吧,哈哈哈,闲话少说开始工作.这个DDR3控制器分两节内容吧,第一节就是MIGIP核的简单介绍和生成这个IP核再介绍一下自己封装这个IP的整体架构,第二节就来介绍一下各个模块的内容. 1.1 MIG IP 核介绍 1) MIG IP核架构 通过查阅ug586_7Series_MIS,我们可以看到MIG…
Modelsim独立仿真vivado的IP 最近一直在做local dimming项目的FPGA硬件实现,算法的其中一步就是直方图统计,即数字图像的某一灰度级的像素数,这个直方图的源码找了半天才搞到,就在<<牟新刚周晓郑晓亮著: 基千FPGA的数字图像处理原理及应用>>这一本书有详细的描述.但有了这个代码,还得查看直方图处理的效果,那我只有搭建仿真查看,但modelsim一直出错,提示直方图模块调用的双口ram不存在,于是下面介绍modelsim独立仿真带有vivado的IP的解决…
笔者在校的科研任务,需要用FPGA搭建OFDM通信系统,而OFDM的核心即是IFFT和FFT运算,因此本文通过Xilinx FFT IP核的使用总结给大家开个头,详细内容可查看官方文档PG109.关于OFDM理论背景,可参考如下博文:给"小白"图示讲解OFDM的原理 - CSDN博  https://blog.csdn.net/madongchunqiu/article/details/18614233/ 我们直接来看看FFT IP核配置界面: 由于OFDM接收机中大多是数据串并转换后…
1.altera 提供了两种rom :单口rom和双口rom. 官方文档偷图: 单口rom:输出可以配置寄存器寄存再输出,时钟可以输入输出用不同的时钟. 双口rom:输入输出时钟可不同或者A与B的时钟可不同.输出可寄存. 2.altera 提供了两种ram :单口ram和双口ram.双口ram又分为伪双口ram和真双口ram. 官方文档偷图: 单口ram:读写共用地址线. 伪双口ram:可同时读写,读用读的地址,写用写的地址.避免同时对同一地址单元读写. 真双口ram:两个端口均可读写. 单口r…
利用Quartus II的LPM_counter IP核进行设计(利用IP核设计可以迅速高效的完成产品的设计) 新建工程 调用IP核 创建一个新的IP核 选择LMP_COUNTER,语言类型,输出路径. 选择希望输出的寄存器是多少位的,计数类型, 选择计数器类型(直接计数还是以模的形式计数),是否需要时钟使能和计数使能信号.进位链的输入和进位链的输出. 清零加载等信号 之后一直next直到finish 创建成功后的IP核的文件信息 将counter.v文件加载到软件中 打开可以看到其中的接口文件…
Vivado xilinx fft9.0 使用笔记: ****注 仿真实测1024点的转换需要经过1148个时钟周期才能得到转换结果: 模块配置信号含义请参考pg109文档手册(写的贼烂会看晕),不详细说明: 一.查找fft IP核按如下几图配置可实现正确的fft转换结果: 配置1个转换通道:转换数据长度是1024 points:选择流线型结构类型pipelined,streamingI/O,优点并行转换速度快,,缺点占用资源多. 如图1: 图1 如图2,设置数据类型为定点小数:缩减因子设置成U…
Zedboard OLED Display Controller IP v1 介绍 Author:zhangxianhe 本文档提供了快速添加,连接和使用ZedboardOLED v1.0 IP内核的说明.运行在ARM处理器系统上的测试应用程序用于通过其驱动程序的功能与IP进行通信. Vivado设计套件被用作开发环境.硬件验证是在Zedboard上完成的,然而,这个IP可以很容易地应用于其他主板或嵌入式系统. 平台 硬件:Zedboard xc7z020clg484-1 软件:Vivado 2…
上一篇7系列收发器博文讲解了GTP IP核的基本配置,本文继续分析如何将它使用起来.生成IP核后打开example design,先看看工程中包含的文件结构. 顶层文件下包含了gtp ip核系统顶层文件.frame_gen以及frame_check三类模块.frame_gen和frame_check用于测试过程中的数据包产生和接收检测(由于我在配置IP核时使能了两个通道,因此工程中有两组frame_gen和frame_check模块),gen模块读发送样式,check模块则将接收到数据与本地存储…
外带一个月前啃的一个星期,加本星期心无旁骛,啃出些心得,广惠后人.但愿有用. trn信号是数据链路层的信号 TLP包是数据链路层传给transaction层的包 解包需要一个transaction的协议,所有req信号都是属于transaction层的信号,都是从包内数据解得的 数据链路层中trn_rd是传输TLP包的数据线 其他线都是辅助trn_rd传输数据的.比如起始结束 数据掩膜之类的. header的叫法只属于transaction,header,payload,digist组成tlp数…
在有线连接的世界里,以太网(Ethernet)无所不在.以太网具有各种速度模式.接口方式.以及灵活的配置方式.现在的以太网卡都是10/100/1000Mbps自适应网卡.以太网的物理层(PHY)通常使用独立的芯片实现,它和FPGA芯片连接的信号分为三组:配置数据(MDIO)控制器,中断控制器,PHY接口. PHY接口 以太网的MAC和PHY之间的互联采用标准MII接口协议.随着技术的发展该接口协议有不同的变体,包括有:MII,RMII,GMII,RGMII,SGMII. MDIO控制器 MDIO…
syslog服务器可以用作一个网络中的日志监控中心,所有能够通过网络来发送日志的设施(包含了Linux或Windows服务器,路由器,交换机以及其他主机)都可以把日志发送给它. 通过设置一个syslog服务器,可以将不同设施/主机发送的日志,过滤和合并到一个独立的位置,这样使得你更容易地查看和获取重要的日志消息. rsyslog 作为标准的syslog守护进程,预装在了大多数的Linux发行版中.在客户端/服务器架构的配置下,rsyslog同时扮演了两种角色:1.作为一个syslog服务器,rs…
DDR3的IP核的使用相当重要,尤其是对视频处理方面. 下面接收DDR3 的IP 核的生成步骤. 1. 选择DDR IP核的生成路径.名字以及哪种语言之后就可以设置DDR IP 的参数了. 2.选择存储大小,可以选择1G.2G.4G或custom. 操作时钟选择(如果速度等级为8,则就没得选择只有跑到300M). Memory Type 选择on_board_memory,就是焊接在板子上的DDR 芯片.memory data bus size 定义了数据总线的宽度. configuration…