DDR2电路设计 在高速大数据的应用中,高速大容量缓存是必不可少的硬件.当前在FPGA系统中使用较为广泛的高速大容量存储器有经典速度较低的单数据速率的SDRAM存储器,以及速度较高的双速率DDR.DDR2.DDR3型SDRAM存储器,DDR系列的存储器都需要FPGA芯片有对应的硬件电路结构支持.对于Altera Cyclone IV系列的FPGA,其最高支持到DDR2存储器(不支持DDR3存储器,到了Cyclone V系列的FPGA才支持DDR3存储器).芯航线AC6102开发板作为一个高速应用…
   WCF学习之旅—WCF中传统的异常处理(十六) WCF学习之旅—基于ServiceDebug的异常处理(十七) 三.基于Fault Contract 的异常处理 第二个示例是通过定制ServiceDebug来获取服务端的异常,但是这种方式只能用于Debug阶段.在我们的WCF应用发布之后,这种获取异常的方式无法在我们的工作环境中使用.我们必须找到一种异常处理方式可以在客户端获取相应的异常提示信息.那就是我们接下来要介绍的基于FaultContract的解决方案.我们知道WCF采用一种基于…
原文地址: http://blog.chinaaet.com/luhui/p/5100052903 大家好,又到了学习时间了,学习使人快乐.今天我们来简单的聊一聊以太网,以太网在FPGA学习中属于比较高级的内容了,有些同学肯定会感觉以太网学习起来非常不容易.其实,我可以告诉大家,前期学习的基础打扎实了,后期的学习也没那么难.总之就是说难没那么难,说容易也不是那么容易.那么,言归正传,下面让我们一起来聊一聊以太网的学习.        说起以太网,大家可能就会想到百兆以太网.千兆以太网以及万兆以太…
转自https://blog.csdn.net/zhipao6108/article/details/82386355 千兆以太网TCP协议的FPGA实现 Lzx 2017/4/20 写在前面,这应该是我大四最后一个工程性的作品了,以后要养成写文档记录的习惯.说明下,本工程为纯verilog实现的硬件TCP收发器,不同于其他的使用MCU构建软件协议栈的方案,如有同学学习实验需要用到,可以找我拿代码,商用的话不好意思,还请Pay. 联系方式QQ:929259243 本文将从以下几个方面进行讲述:…
原创博客,转载请注明出处:[重新发布,代码开源]FPGA设计千兆以太网MAC(1)——通过MDIO接口配置与检测PHY芯片 - 没落骑士 - 博客园 https://www.cnblogs.com/moluoqishi/p/9118283.html 一.前言 本文设计思想采用明德扬至简设计法.以太网这一高效实用的数据传输方式应用于各个领域,如网络交换设备,高速网络相机等.虽然各FPGA厂商都提供MAC IP核,但大多收费,有时无法破解.不同厂家之间无法移植,而且为了通用性考虑牺牲了效率,因此自己…
WCF学习之旅—WCF中传统的异常处理(十六) 二.基于ServiceDebug的异常处理 从前面的示例中,可以看到客户端捕获了异常,这是我们处理异常的前提.为了有利于我们进行有效的调试,WCF提供了ServiceDebug Service Behavior.我们可以通过设置<serviceDebug includeExceptionDetailInFaults="True" />属性设为true,那么如果服务端抛出异常,WCF会简单得包装这个异常并把它置于Soap中Res…
上篇该系列博文中通过MDIO接口实现了PHY芯片的状态检测,验证其已处于1000M 全双工工作模式.在设计MAC逻辑之前,要先清楚MAC与PHY之间的接口以及以太网协议细节,这样才能保证网络的兼容性.本文内容多来自Xilinx官方文档pg051 tri-mode-eth-mac. 1.GMII接口 此处使用较简单的GMII接口,接口列表及说明如下: TX方向时钟tx_mac_aclk由FPGA给出,RX方向时钟gmii_rx_clk由PHY芯片经过内部CDR模块从接收数据中恢复出来,时钟频率均为…
基于TI公司最新DSP芯片TMS320C6455.设计并实现了以太网通信软硬件接口.采用TMS320C6455片内以太网接口模块EMAC/MDIO,结合片外AR8031 PHY芯片,在嵌入式操作系统DSP/BIOS架构上,运用TI官方网络开发包NDK提供的协议栈,实现了底层硬件驱动程序的编制及其协议栈接口,完成了数字信号的以太网传输.用户使用ndk网络协议站来实现的udp通信, 在DSP/BISO中启动了一个任务来实现网络通信. 1.硬件设计     一块TMS320C6455处理器,一块AR8…
iOS高级进发 OC源码下载地址 苹果开发文档 如何阅读苹果开发文档 GNUstep是GNU计划的项目之一,它将Cocoa的OC库重新开源实现了一遍 源码地址:http://www.gnustep.org/resources/downloads.php 虽然GNUstep不是苹果官方源码,但还是具有一定的参考价值 iOS底层 1.一个NSObject对象占用多少内存 2.OC对象的分类 3.KVO实现原理 4.KVC实现原理 5.分类 5.1.分类的实现原理 5.2.Load和Initializ…
本文设计思想采用明德扬至简设计法.上一篇博文中定制了自定义MAC IP的结构,在用户侧需要位宽转换及数据缓存.本文以TX方向为例,设计并验证发送缓存模块.这里定义该模块可缓存4个最大长度数据包,用户根据需求改动即可. 该模块核心是利用异步FIFO进行跨时钟域处理,位宽转换由VerilogHDL实现.需要注意的是用户数据包位宽32bit,因此包尾可能有无效字节,而转换为8bit位宽数据帧后是要丢弃无效字节的.内部逻辑非常简单,直接上代码: `timescale 1ns / 1ps // Descr…
1 什么是FPGA FPGA也即是Field Programmable Gate Array的缩写,翻译成中文就是现场可编程门阵列.FPGA是在PAL.GAL.CPLD等可编程器件的基础上发展起来的新型高性能产物,是作为专用集成电路(ASIC)领域中的一种半定制电路出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点.图1.1是Altera Cyclone V芯片. 图1.1 Altera Cyclone芯片 说到这里,不得不提ASIC,即专用集成电路(Application…
基于6U VPX的 XC7VX690T+C6678的双FMC接口雷达通信处理板   一.板卡概述 高性能VPX信号处理板基于标准6U VPX架构,提供两个标准FMC插槽,适用于电子对抗或雷达信号等领域的高性能采集.回放以及相关处理.通过扣接不同的数据接口FMC子卡的方式,可实现不同采样频率.不同量化位数.不同通道数.不同信号形式的采集.回放.处理的功能模块.高性能VPX信号处理板主要包含大规模FPGA.多核DSP.大容量DDR3存储器.FMC插槽.扩展IO.板载时钟等,模块原理框图如下图所示:…
一. 引言 千兆以太网是一种具有高带宽和高响应的新网络技术,相关协议遵循IEEE 802.3规范标准.采用和10M以太网相似的帧格式.网络协议和布线系统,基于光纤和短距离同轴电缆的物理层介质,更适用于交换机.服务器等数据吞吐率大的设备.本文设计实现一种基于嵌入式Linux千兆以太网卡的驱动程序,并完成后续的测试工作和代码移植. 千兆以太网网卡工作在OSI网络架构的物理层和数据链路层,其中物理层由PHY芯片管理,数据链路层由千兆以太网控制器(GMAC)管理.硬件构架上,GMAC控制器由核心层.MT…
一.板卡概述 本板卡由我公司自主研发,板卡采用DSP+FPGA的结构,DSP使用TMS320C6455芯片,FPGA采用ALTERA的高端FPGA芯片Stratix II EP2S系列EP2S130,板卡使用FPGA用于获取双通道数据采集,实现1路的FULL Camera Link输入,一路DVI输出,2路Rs232,一路千兆以太网,2路Can总线.FPGA控制高速SDRAM数据存取,并与DSP之间构建64-bit高速同步数据总线接口:一片TI 1GHz C6455 DSP除了内核处理性能之外,…
一.板卡概述 本板卡采用Xilinx公司的Artix7系列的XC7A100T-2FGG484 芯片作为主处理器.包含双路千兆电口网络,双组DDR,PCIeX1 V1.1接口,板卡设计满足工业级要求. 二.功能和技术指标: 板卡功能 参数内容 主处理器 XC7A100T-2FGG484I 板卡标准 PCI EXPRESS CARD SPECIFICATION, REV. 1.1 电气规范 标准PCIe半高卡,符合PCI Express 2.0 规范,支持PCIe x1模式 板载缓存 板载2组64M…
九.基于串口猎人软件的串口示波器 1.实验介绍 本实验,为芯航线开发板的综合实验,该实验利用芯航线开发板上的ADC.独立按键.UART等外设,搭建了一个具备丰富功能的数据采集卡,芯航线开发板负责进行数据的采集并将数据通过串口发送到PC机上,PC端,利用强大的串口调试工具--串口猎人,来实现数据的接收分析,并将数据分别以波形.码表.柱状图的形式动态显示出来,以让使用者能够直观的看到ADC采集到的信号细节.同时,用户也可以使用串口猎人通过串口给下位机(FPGA)发送指令,下位机将对接收到的指令进行解…
十五.串口发送图片数据到SRAM在TFT屏上显示 之前分享过rom存储图片数据在TFT屏上显示,该方法只能显示小点的图片,如果想显示TFT屏幕大小的图片上述方法rom内存大小不够.小梅哥给了个方案,利用串口将图片数据传给SRAM,传完后在从SRAM中读取图片数据进行显示.有了梅哥的提示后就开始动工了,首先是设计SRAM的控制程序. SRAM(静态随机访问存储器)是一种半导体存储器.“静态”一词表明只要有电源供电,数据就会保存,而不会“动态”改变. 本实验平台是基于小梅哥出品的芯航线FPGA开发平…
十三.四通道数字电压表 本文由山东大学研友袁卓贡献,特此感谢 实验目的 设计一个四通道的数字电压表 实验平台 芯航线FPGA核心板.AD/DA模块 实验现象 实现一个四通道的数字电压表,其中可以用按键切换测量通道并在4位数码管上显示对应的测量值. 实验原理及步骤 数字电压表的工作原理即为,被测信号接入ADC模块的输入引脚,FPGA控制ADC的转换进程以及原始数据的采集,并将其采集到的二进制数据转换为数码管的显示数据.其中按键可以选择ADC模块不同的通道.其系统工作原理图如图1所示. 图1 系统工…
十一.四通道幅频相可调DDS信号发生器 本文由山东大学研友袁卓贡献,特此感谢 实验目标 实现多通道可调信号发生器 实验平台 芯航线FPGA核心板.ADDA模块 实验现象 实现基于FPGA的多通道可调信号发生器,其中频率.相位以及幅值均可通过PC端串口发送数据对应调节,并可实现4路信号的同步. 实验原理及设计过程 经过前面小梅哥基础课程的学习,相信已经对FPGA的设计有了一定程度的了解,现在提出一个相对综合的工程应用来深入了解FPGA的设计思路以及工程思想等. 针对以上预期实验现象可以分析出最少需…
基于线性序列机的TLC5620型DAC驱动设计 目录 TLC5620型DAC芯片概述:    2 TLC5620型DAC芯片引脚说明:    2 TLC5620型DAC芯片详细介绍:    3 TLC 5620型DAC接口时序:    4 TLC5620串行数字接口的关键时序参数:    5 芯航线ADDA模块TLC5620电路介绍:    6 线性序列机设计思想与TLC5620接口时序设计:    7 视频教程中的工程源码:    10 视频教程中的测试文件源码:    13 板级验证方法: …
十四.TFT屏显示图片 本文由杭电网友曾凯峰贡献,特此感谢 学习了小梅哥的TFT显示屏驱动设计后,想着在此基础上通过TFT屏显示一张图片,有了这个想法就开始动工了.首先想到是利用FPGA内部ROM存储图片数据,然后通过控制读取数据地址将图片数据传给TFT驱动模块,从而将每个图片数据显示在对应的像素点上.整个设计的框图如下: 主要是在小梅哥TFT驱动设计基础上增加了图片数据发送控制模块Imgdata_send,该模块包括存储图片数据的rom,和一些简单的逻辑控制.具体的rom IP核的建立我这里就…
十二.数字密码锁设计 本文由山东大学研友袁卓贡献,特此感谢 实验目的 实现数字密码锁设计,要求矩阵按键输出且数码管显示输入密码,密码输入正确与否均会有相应标志信号产生. 实验平台 芯航线FPGA核心板.数码管_VGA_PS2模块.矩阵按键模块 实验原理 随着生活质量的提高,当代人们也认识到了安全的重要性,已经不再满足于老式的机械钥匙.近年来越来越多的技术开始在安全领域应用,例如普通的按键输入.指纹输入或者虹膜输入等. 本节设计一款按键输入式密码锁,用矩阵键盘输入密码,输入完成后进行密码比对,如密…
十.MC8051软核在FPGA上的使用 本教程内容力求以详细的步骤和讲解让读者以最快的方式学会 MC8051 IP core 的应用以及相关设计软件的使用,并激起读者对 SOPC 技术的兴趣.本实验重点讲 8051Core 的应用,并通过一个简单 C51 程序对 51Core 进行硬件测试. 本实验教程的内容编排如下: 第 1 章简单的描述了 MC8051 IP core 的基本结构及一些应用说明. 第 2 章详细的介绍 8051Core 综合.编译应用.包括 Quartus II软件的基本应用…
SOPC开发常见问题及解决办法集锦 一.Symbol 'NULL' could not be resolved 近期在评估使用NIOS II处理器进行项目的开发,我使用的软件是Quartus II 13.0的版本,一路下来,在Qsys系统中搭建NIOS II片上系统,在Quartus II中建立工程文件等等过程,没有太多的问题,这里暂且不表.只是在NIOS II Software build tools for Eclipse中进行软件开发时,一个非常让人不解的问题就是:我在工程向导中创建一个H…
sof与NIOS II的elf固件合并jic得到文件 注意,本方法已经有更加简便的方法,小梅哥提供相应的脚本文件,可以一键生成所需文件,脚本请前往芯航线FPGA技术支持群获取. 7.1 为什么需要将Sof与elf合并得到jic文件 我们在学习和调试NIOS II工程的时候,一般都是先使用Quartus II软件中提供的Quartus Programmer来烧写FPGA配置文件(SOF),然后NIOS II EDS中提供的Flash Programmer工具来进行烧写NIOS II的.这对于开发者…
解决NIOS II工程移动在磁盘上位置后project无法编译问题 说明:本文档于2017年3月4日由小梅哥更新部分内容,主要是增加了讲解以Quartus II13.0为代表的经典版本和以15.1为代表的更新版本之间,解决问题的一些小的差异. 如果用户只是想快速解决问题,不想分析产生问题的原因并和我一起探寻解决问题的思路,可以直接跳到6.4节解决方案步骤总结:6.4 解决方案步骤总结.(点击蓝色字体即可到达) 针对目录改变时,Nios II project无法编译的问题,网上有多种解决方法,不过…
切换NIOS II CPU的主内存后软件中需要注意的几点设置 有时候,我们可能面对这样一种情况: 1. 我们创建一个SOPC系统,并在QSYS中设置NIOS II的复位地址和异常地址都指向SRAM: 2. 我们创建了正确的NIOS II软件工程并能够正常运行 3. 由于某种需求(如SRAM内存不够用了,需要换成内存更大的SDRAM),我们在面在QSYS中将NIOS II CPU的复位地址和异常地址修改为SDRAM 4. 我们需要继续使用之前创建的NIOS II软件工程. 这里,如果我们更改后直接…
设置Eclipse在编译(build)前自动保存源代码文件 Eclipse 常用设置之让Eclipse在编译(build)前自动保存源代码文件 一.让Eclipse在编译(build)前自动保存源代码文件 这个操作很关键,如果编译前不保存.Eclipse还是编译原来的文件.我经常性把代码改来改去,怎么编译都发现结果不对.结果仔细一看,气死了.修改后的源文件没有保存! 别小看这个设置哦!也许关键时刻能帮你一把! 如有更多问题,欢迎加入芯航线 FPGA 技术支持群交流学习:一群 472607506(…
给NIOS II CPU添加一颗澎湃的心——系统时钟的使用 本实验介绍如何在Qsys中添加一个定时器作为NIOS II的心跳定时器,并在NIOS II中软件编程使用该定时器. 将上一个实验watchdog工程复制.粘贴并重命名为08_sysclk_timer.在Quartus II中打开该工程,然后点击Qsys快捷图标打开Qsys组件,如下图所示: 在Qsys中,打开工程目录(08_sysclk_timer)下的mysystem.qsys工程. 打开后,在左侧的IP列表中输入“timer”,然后…
给NIOS II CPU增加看门狗定时器并使用 配置看门狗定时器: 1. 设置计时溢出时间为1秒 2. 计数器位宽为32位 3. 勾选No Start/Stop control bits 4. 勾选Fixed period 5. 不勾选Readable snapshot 6. 勾选System reset on timeout.(Watchdog) 7. 不勾选Timeout Pulse (1 clock wide) 这部分配置可以参见“Embedded Peripheral IP User G…