精华内容
下载资源
问答
  • FPGA项目-源码

    2021-02-09 11:09:11
    FPGA项目
  • 您还为找不到合适的FPGA开发工程师心急如焚吗? 您可以找燎原团队! 燎原团队致力于FPGA多核板卡设计开发,可以配合您的开发团队,提供稳定可靠的FPGA解决方案,...星空敏感器图像处理FPGA项目FPGA板卡的功能..

    您还为找不到合适的FPGA开发工程师心急如焚吗?

    汇集了2000G的FPGA学习和研发技术资料,可以免费分享给FPGA技术爱好者,微信:www8928

    您可以找燎原团队!

    燎原团队致力于FPGA多核板卡设计开发,可以配合您的开发团队,提供稳定可靠的FPGA解决方案,现有专职+兼职团队20多位高级工程师,大部分来自科研院所,知名企业的FPGA的专家,欢迎与广大的企业深度合作。

    我们提供完善的FPGA设计开发、嵌入式系统、板卡设计开发等相关解决方案。

    1、提供基于Xilinx/Altera FPGA的高性能计算(HPC)硬件平台、FGPA加速卡,本硬件加速平台基于PCI Express总线,采用超高性能FPGA作为运算节点。在高性能计算(High Performance Computing)上表现出卓越的性能。尤其适合于大规模逻辑运算。具备高性能、低功耗、低成本、可编程的特性。

     2、本平台为自主研发,可以根据用户实际需要进行修改定制。

    合作联系:星星老师,

    微信:www8928

    QQ:275260898

    邮箱:275260898@qq.com

    已经完成交付的项目比较多,以下面的项目为例说明吧

    星空敏感器图像处理FPGA的项目:

    FPGA板卡的功能芯片构成暂且不累述了,Xilinx芯片,咱们直奔FPGA内部逻辑功能模块,该FPGA设计由以下模块组成:

    序号 实现内容 功能描述

    1. 全局复位模块,作用:全局复位,需进行异步复位同步释放;

    2、时钟模块,作用:本模块将输入的40MHZ时钟倍频至60MHZ用于全局时钟

    3、与上位机通讯模块,作用:本模块完成与上位机通信功能,完成1路SYNC信号的滤波采集,滤波可配置;完成1路RTS信号滤波采集,滤波可配置;完成1路UART与上位机进行通信

    4、星时计数模块,作用:完成星时计数功能,通过48位计数器完成星时计数及锁存,通过32位计数器完成SYNC计数及锁存,两个计数器初值可配置;

    5、CCD相机控制,作用:   本模块完成CCD相机配置功能,完成滤波开关的控制,完成CCD相机积分时间设置及生成,CCD参数配置功能

    6、图像接收及处理模块,作用: 本模块完成CCD相机图像接收及存储功能,通过同步串口接收CCD相机数据(全图或窗口图),依据滤波开关状态完成图像滤波及星点提取,依据处理器设置图像数据存储到图像SRAM 中。

    7、图像缓存下传,作用:本模块完成CCD相机图像缓存及下传

    8、制冷器控制,作用:本模块完成制冷器控制,自动完成8路模拟量采集并锁存;通过8位DA输出实现制冷器芯片的控制;

    9、位口输入模块,作用:本模块完成8路位口输入信号采集;

    位口输出模块,作用:本模块完成6路位口输出信号;

    10、脉冲输出模块,作用:  本模块完成两路脉冲输出

    11、图像sram接口模块,作用: 本模块完成2片1Mx16bits容量sram读写操作

    12、配置刷新FPGA测试功能接口模块,作用:        本模块完成1路200ms周期信号输出用于配置刷新FPGA刷新功能测试

    13、与处理器接口模块,作用:本模块完成与处理器接口功能,按FPGA功能逻辑进行译码,输入总线锁存处理,确保时序与处理器同步,输出总线多路选通及三态处理,确保输出到处理器的数据有效且稳定;FPGA时序要考虑处理器工作时开cache;满足处理器接口时序要求,同时考虑总线上的245延时情况;

    以上模块说明仅仅是简单描述,在研发成果交付的时候,提供原理图、版图、源代码,更重要的是代码注释以及研发说明文档,一套完备的交付设计文档的提交,才是真真正正的交付成果。便于后继的升级以及产品维护,一款产品的成功研发,会带来一系列的新产品。我们可以除了完整成果交付之外,还提供长期的技术支持服务,保障产品系统稳定运行。当产品进入稳定运行并通过验收,就可以小批量生产阶段,我们可以提供快捷的量产服务,彻底免除您的后顾之忧。

     

    可以承接的项目类型不断增加,无法一一描述,如果您有FPGA研发需求,请您一定联系我们,竭诚为您服务,即便最后您没有选择我们,您也可以得到我们专业的FPGA方案指导,辅助您快速找到合适的研发团队并交付任务。

      涉及到的任务:

    1. FPGA实现多路MIPI相机CSI的图像采集,图像经过处理后拟合成不同效果的图像输出;图像压缩编码,加密后通过千兆以太网实现网络传输
    2. FPGA外围搭载各种外设的驱动模块编程,实现与高速处理器无缝通信,10路同步串口模块,16组异步串口模块,CAN控制模块,128通道SPI模块自动采集,网络同步时钟模块。

    无论多核板卡的软硬件设计、FPGA内部功能模块的编程,还是板卡整机调试,您都可以找我们,一定竭诚为您服务!

    合作联系:星星老师,微信:www8928,QQ:275260898

    邮箱:275260898@qq.com

     

    展开全文
  • FPGA项目经验借鉴

    2020-08-05 04:23:42
    做了5年的FPGA了。手中经历的项目也不在少数...就在此刻又一个FPGA项目宣告结题,好多感受趁着现在还新鲜着,写出来和大家一起分享。不对之处,希望得到大家的指正。另外1234并没有绝对顺序,都是有感而发,随性而写。
  • FPGA项目开发实战讲解》,作者:李宪强,电子工业出版社。目 录第1章 FPGA介绍 1.1 FPGA的优势 1.2 FPGA典型结构图 1.3 LUT原理 1.4 FPGA上电配置过程时序图 1.5 FPGA基本开发流程第2章 Verilog语法介绍 2.1 ...

    《FPGA项目开发实战讲解》,作者:李宪强,电子工业出版社。

    09521013984e8269d4c1354a30a947cd.png


    目  录

    第1章 FPGA介绍 

        1.1 FPGA的优势 

        1.2 FPGA典型结构图 

        1.3 LUT原理 

        1.4 FPGA上电配置过程时序图 

        1.5 FPGA基本开发流程 

    第2章 Verilog语法介绍 

        2.1 Verilog HDL语言简介 

            2.1.1 什么是Verilog HDL 

            2.1.2 Verilog HLC的历史 

        2.2 Verilog HDL和VHDL语言比较 

        2.3 Verilog语法介绍 

            2.3.1 模块 

            2.3.2 常量 

            2.3.3 parameter与define的区别 

            2.3.4 reg和wire 

            2.3.5 操作符 

            2.3.6 assign和always语句 

            2.3.7 if和case语句 

            2.3.8 循环语句 

            2.3.9 模块实例化 

            2.3.10 预处理指令 

            2.3.11 系统任务

            2.3.12 task和function语句的区别 

            2.3.13 文件操作 

    第3章 FPGA开发必要的技术积累

        3.1 锁存器、触发器 

        3.2 时序的基本概念 

            3.2.1 建立和保持时间 

            3.2.2 同步系统中时序分析 

        3.3 异步时钟域和亚稳态 

            3.3.1 什么是亚稳态 

            3.3.2 亚稳态发生场合 

            3.3.3 亚稳态危害 

            3.3.4 怎么减少亚稳态的发生 

            3.3.5 案例:亚稳态导致通信异常

        3.4 状态机的设计

        3.5 复位信号

            3.5.1 同步复位和异步复位比较

            3.5.2 案例:和复位信号相关的项目 

        3.6 串并转换和并串转换 

        3.7 流水技术 

            3.7.1 流水技术原理 

            3.7.2 案例:NAND FLASH流水实现高速存储 

        3.8 乒乓操作 

        3.9 双向端口使用 

            3.9.1 数据总线的设计 

            3.9.2 程序设计 

            3.9.3 案例:MCU接口程序 

        3.10 Xilinx原语介绍 

            3.10.1 时钟组件 

            3.10.2 吉比特收发器组件 

            3.10.3 I/O端口组件 

            3.10.4 IBUFDS 

            3.10.5 IDELAY 

            3.10.6 OBUFDS 

        3.11 DCM原理 

        3.12 RAM核的使用 

        3.13 FPGA时序约束 

            3.13.1 FPGA约束介绍 

            3.13.2 案例:500MSPS的A/D转换器 

        3.14 生成IP核 

            3.14.1 生成IP核的方法 

            3.14.2 案例:生成IP核的具体操作过程 

        3.15 保持层次关系 

        3.16 Chipscope ICON和ILA 

            3.16.1 Chipscope介绍 

            3.16.2 案例:以DSP接口程序为例介绍使用流程 

        3.17 Verilog编码风格注意事项总结 

        3.18 FPGA学习步骤 

        3.19 FPGA工作方式 

    第4章 FIFO控制器设计 

        4.1 FIFO相关的概念 

        4.2 设计指标 

        4.3 同步FIFO设计 

            4.3.1 双端口RAM介绍 

            4.3.2 同步FIFO设计 

        4.4 异步FIFO设计 

            4.4.1 空/满标志的产生 

            4.4.2 亚稳态问题 

            4.4.3 格雷码 

            4.4.4 异步FIFO设计及结果 

    第5章 串口通信模块设计 

        5.1 串口通信概述 

            5.1.1 串口介绍 

            5.1.2 串口帧格式 

        5.2 设计指标 

        5.3 串口通信模块方案 

            5.3.1 原理框图 

            5.3.2 FPGA方案 

        5.4 串口通信各个模块设计 

            5.4.1 MCU配置模块设计 

            5.4.2 发送模块设计 

            5.4.3 接收模块设计 

            5.4.4 顶层模块 

        5.5 串口通信模块调试注意事项 

    第6章 数/模及模/数转换控制模块设计 

        6.1 相关技术介绍 

            6.1.1 数/模转换器(DAC)介绍 

            6.1.2 模/数转换器(ADC)介绍 

            6.1.3 数/模转换芯片AD5641介绍 

            6.1.4 模/数转换芯片ADS7230介绍 

        6.2 技术指标要求 

        6.3 D/A模块设计 

        6.4 AD模块设计 

        6.5 遇到的问题、排查及定位 

    第7章 HDLC总线控制器设计 

        7.1 HDLC协议介绍 

        7.2 CRC校验 

        7.3 设计技术指标 

        7.4 HDLC电路图 

        7.5 HDLC总线控制器模块划分 

        7.6 HDLC总线控制器各个模块设计 

            7.6.1 CRC模块设计 

            7.6.2 发送编码设计及结果 

            7.6.3 接收解码设计及结果 

        7.7 遇到的问题及解决办法 

    第8章 SDRAM控制器设计 

        8.1 SDRAM简介 

        8.2 SDRAM芯片介绍 

        8.3 SDRAM设计方案 

            8.3.1 刷新周期的问题 

            8.3.2 初始化模块 

            8.3.3 定时刷新请求信号产生模块 

            8.3.4 读/写请求产生模块 

            8.3.5 读/写状态机 

    第9章 NAND FLASH控制器设计 

        9.1 NAND FLASH介绍 

            9.1.1 NAND FLASH信号功能介绍 

            9.1.2 芯片存储阵列结构和地址寻址 

            9.1.3 NAND FLASH时序图介绍 

        9.2 设计技术指标 

        9.3 原理图介绍 

        9.4 NAND FLASH控制器方案 

        9.5 NAND FLASH各个模块设计 

            9.5.1 MCU接口模块 

            9.5.2 FLASH管理模块 

            9.5.3 NAND FLASH坏块表查找模块设计 

            9.5.4 NAND FLASH页查找模块设计 

            9.5.5 NAND FLASH读模块设计 

            9.5.6 NAND FLASH写模块设计 

            9.5.7 NAND FLASH块擦除模块设计 

        9.6 遇到的问题及解决办法 

            9.6.1 对FLASH的读/写不能完成 

            9.6.2 读/写不稳定 

    第10章 1553B总线控制器设计 

        10.1 1553B总线介绍 

            10.1.1 总线拓扑结构 

            10.1.2 编码方式 

            10.1.3 1553B数据格式 

            10.1.4 总线数据传输过程说明 

        10.2 设计技术指标 

        10.3 原理图介绍 

        10.4 收发器芯片介绍 

        10.5 1553B总线控制器方案 

        10.6 1553B总线控制器各个模块设计 

            10.6.1 曼彻斯特编码模块设计 

            10.6.2 曼彻斯特解码模块设计 

            10.6.3 协议处理模块设计 

            10.6.4 RT接收模块设计 

            10.6.5 RT发送模块设计 

            10.6.6 RT-RT模块设计 

            10.6.7 Broadcast模块设计 

        10.7 测试结果 

        10.8 遇到的问题及解决办法 


    本书立足于工程实践经验,首先介绍FPGA的原理、语法、设计技巧,然后详细介绍了7项常用技术的实现。每项技术从以下几方面介绍:相关技术介绍、FPGA方案框图设计、子模块设计、仿真和测试、项目开发过程中遇到的问题、定位和解决措施,其中插入了大量的状态机转换图和关键代码,方便读者学习。

    本书涉及的所有技术点都是作者在项目设计中亲自完成的。其中用7章从易到难介绍了7个开发项目,每个项目从以下几方面介绍:相关技术、FPGA方案设计、子模块设计、仿真和测试、项目开发过程中遇到的问题、定位和解决措施。在编写过程中,插入了大量的状态机转换图、仿真结果和关键代码,方便读者学习,同时还加上了笔者在开发过程中遇到的实际问题及解决问题的手段、机理分析。


    ~End~

    各位读者如在学习中遇到不错的书籍,欢迎推荐,谢谢大家!

    1b3d367b9a774b23fa6c4ee224a4b161.png

    征稿启事:公众号征稿,欢迎投稿!

    展开全文
  • 简单的FPGA项目开发流程,简简单单学会FPGA开发流程,数字时钟
  • FPGA-chip-design:CMU 2021年Spring18725 Cozy-Fabric FPGA项目
  • 该文档是对FPGA项目开发中的一些必备知识的总结,比较经典,还有一些接口的设计实例
  • FPGA项目开发必备资料

    2009-07-08 12:06:42
    FPGA项目开发必备资料,是从事FPGA项目开发人员的参考资料
  • fpga项目经验

    2014-07-13 16:47:17
    fpga学习项目经验,包括modelsim,signaltap等等!
  • 做了5年的FPGA了。手中经历的项目也不在少数...就在此刻又一个FPGA项目宣告结题,好多感受趁着现在还新鲜着,写出来和大家一起分享。不对之处,希望得到大家的指正。另外1234并没有绝对顺序,都是有感而发,随性而写。
  • FPGA项目中使用字符LCD

    2020-10-13 05:51:43
    FPGA项目中添加字符液晶显示器(LCD)是使项目参与讨论的一种简单且廉价的方法。 在这篇文章中,我将讨论FPGA与各种通用1602 LCD的接口,如下图所示。 这些字母数字显示器包括一个集成的HD44780兼容控制器,该控制...

    背景知识视频教程

    • 使用Xilinx Zynq-7000 ARM / FPGA SoC学习VHDL设计

    在FPGA项目中添加字符液晶显示器(LCD)是使项目参与讨论的一种简单且廉价的方法。 在这篇文章中,我将讨论FPGA与各种通用1602 LCD的接口,如下图所示。

    这些字母数字显示器包括一个集成的HD44780兼容控制器,该控制器带有并行接口,使您能够一次以一个字节发送ASCII格式的数据。 在固定的点矩阵网格上,输出为两行,每行16个字符。 它们很便宜,非常适合显示测量值,计算结果和任何其他简单消息。

    我的目的是开发一个可重用的Verilog模块,该模块可放入多个FPGA项目中并处理与LCD的底层通信。 为了使Verilog尽可能独立于平台,我在两个不同的板上开发和测试了该模块。 首先是使用Project Icestorm工作流程的Olimex ICE40HX8K-EVB板。第二个是Arrow BeMicro CV板,使用Quartus 15.0开发的Intel / Altera 5CEFA2F23C8N CycloneV。

    日立HD44780 LCD控制器已经存在了数十年。 我没有确切的发布年份,但是通过快速搜索,可以在80年代初到80年代初在目录和杂志中找到它。 日立公司已经停止生产它们,但是存在兼容的替代产品,包括凌阳SPLC780,三星KS0066U和Sitronics ST7066U。 尽管并非所有的小文本显示都兼容HD44780,但控制器的指令集和界面已成为标准配置。

    5v和3.3v显示器均可用。 虽然在技术上可以实现5v版本的接口,但我对5v器件与FPGA板上的3.3v IO引脚距离太近感到烦心,因此我使用的是3.3v版本。

    配置这些显示器相当容易,并且在线上有很多原材料可以帮助启动项目。 它们已经存在很长时间了,这意味着每个可想象的微控制器都有可用的教程。 这些年来,他们甚至出现在Xilinx和Altera的一些培训和开发板上。

    人们使用1602的任何麻烦似乎都源于对控制器时序要求的困惑-特别是执行其适度繁琐的初始化序列的时序。 这些时序难题与数据表中一些相当模糊的文字以及规格中的细微变化相结合。

    我认为我已经很好地弄清了时序,我将在这篇文章中进一步提供一些细节。 但总的来说,要记住,数据手册中的时序要求是最低要求,这非常有帮助。 您不必尝试获得这些确切的时间值。 实际上,除非您的应用程序需要将性能降低到每纳秒,否则您可以通过在最短的时间范围内构建一些不错的缓冲区来避免很多麻烦。

    首先是基础知识。

    1602控制器的接口包括16个引脚,如下图所示。

    其中五个引脚专用于电源,包括用于调节背光的对比度控制。 Vss(接地)和Vdd(正电源)是逻辑电路的主要电源。 A和K为正,并接地至背光。 V0引脚可调节与显示屏的对比度。 大多数设置在对比引脚上使用10k电位器。 您可以通过1K至4K电阻将其直接接地,但是对比度非常敏感,如果使用电位计,您可能会更开心。

    其中三个引脚专用于控制信号。 RS(寄存器选择)用于指示总线上的数据是字符(RS = 1)还是指令(RS = 0)。 E(启用)引脚被打开和关闭以输入数据。 R / W(读/写)引脚在读(R / W = 1)和写(R / W = 0)之间切换。 R / W通常接地,LCD被视为只写设备。

    其余八个引脚为数据总线。 如前所述,总线上的数据可以是字符或指令。 字符包括用于数字0-9的标准ASCII代码,字母a-z和A-Z,以及许多通用的标准ASCII标点和符号,例如!,?,#和$。 除这些字符外,LCD还将包含其他字符,具体取决于板的制造商和控制器的版本。 控制器还可以管理用户定义的自定义字符。

    指令集相当丰富。入门的一些关键说明包括:

    控制器具有8位模式和4位模式,在8位模式中,字符和命令一次加载一个字节,在8位模式中,8位数据被加载到两个4位半字节中。 4位模式将输出引脚保存在您的设备上,但代价是发送数据的复杂性略有降低。 在这里,我正在使用完整的8位模式。

    在最高级别,通过将RS引脚和DB0-7引脚一次设置一个字节,同时将E引脚打开和关闭以切换为 告诉控制器每个字节准备就绪。

    该过程的更详细视图如下所示:

    1. 设置RS和DB0-7引脚,然后至少延迟40ns(纳秒)以使其稳定。
    2. 将E引脚拉高并保持至少230ns
    3. 将E引脚拉低,使RS和DB0-7稳定至少10ns以上
    4. 输入下一个字节之前,字符延迟至少40µs(微秒),指令延迟至少1.64ms(毫秒)。

    关于上述几点:

    1. 如果研究数据手册,您会发现只有RS才需要在E变高之前保持稳定。因此,从技术上讲,以后可以启动DB0-7,但是在第一步中加载数据似乎很方便和最简单。
    2. 最终延迟取决于控制器执行字符写入或指令所需的时间。 并非所有指令都具有相同的持续时间。 清除屏幕的指令是在1.64ms时最坏的情况。 对于时间敏感的应用程序,您可以细分指令类别,并更快地推送持续时间较短的指令。
    3. 这些时间是最短的时间,制造商之间可能会有所不同。我取得了更好的成功,为前两个延迟增加了一些时间。

    名义上写一个字符的Verilog看起来像这样:

    代码1
    </>
    

    这个简化的(但有效且完整的)Verilog模块使用状态机来逐步完成加载字符的阶段,并通过计数器来延迟延迟。 一个小问题是计算所需的不同延迟所需的时钟周期数。 上面的代码示例是针对我的ICE40板(具有100MHz时钟)计算出来的。 公式很简单:以赫兹为单位的时钟频率*所需的延迟以秒为单位。 您最终在小数点的两边都有很多零-例如 100MHz处的50ns延迟= 100000000 * 0.00000005 = 5个时钟周期。

    详情参阅http://viadean.com/fpga_verilog_lcd.html

    展开全文
  • FPGA 项目基本结构框架图: 分析: Hierachy 可以看到整体的项目 1、 beep_top 文件是项目的顶层文件,也就是最终 编译的文件 下面还有3个子文件: 分别是 beep_test0、beep_test1、sound_lut 三个文件。 其中可以...

    FPGA 项目基本结构框架图:
    在这里插入图片描述
    分析:

    • Hierachy 可以看到整体的项目
    • 1、 beep_top 文件是项目的顶层文件,也就是最终 编译的文件
    • 下面还有3个子文件: 分别是 beep_test0、beep_test1、sound_lut 三个文件。 其中可以看到,在整个文件中:
    • 2、beep_test0、beep_test1 都是调用的 beep_test 模块,相当于调用了两次,然后再内部使用两个定时器模块,只不过是不同的使用功能
    • 3、sound_lut 使用的是 sound_lut 模块,这里使用的模块名称和例化模块(一般不建议使用和设计的模块名称一模一样的名字,这里相对来说不是非常规范,自己设计的时候需要注意)
    展开全文
  • CrazyBingo开发的一款免费供大家使用的C2Mif程序,用于fpga项目所需的字模转mif文件
  • FPGA项目报告

    2021-02-15 20:09:56
    寒假一起练4 FPGA 活动链接 b站视频 验证代码 实际验证只需要上面标注的两个文件. 由于之前我完全没有接触过FPGA,在学习的过程中,我总结了一些经验,可能对刚学习的小白有一定的帮助。 关于小白如何学习FPGA 具体...
  • FPGA项目开发:基于FPGA的伪随机数发生器(附代码) 今天是画师和各位大侠见面了,执笔绘画FPGA江湖,本人写了篇关于FPGA的伪随机数发生器学习笔记,这里分享给大家,仅供参考。 一、概念 随机数是专门的随机试验...
  • FPGA项目.rar

    2020-02-14 09:09:52
    利用Verilog VHDL语言实现的流水灯功能,文件上面附带有QuartusII软件中配置的引脚。
  • 欢迎FPGA工程师加入官方微信技术群点击蓝字关注我们FPGA之家-中国最好最大的FPGA纯工程师社群《深入浅出玩转FPGA(第3版)》收集整理了作者在FPGA项目实践中的经验点滴。书中既有常用FPGA设计方法和技巧的探讨,读者...
  • FPGA项目开发:基于JESD204B的LMK04821芯片项目开发经验分享(一) 大侠好,阿Q来也,今天头一次和各位见面,请各位大侠多多关照。今天给各位大侠带来一篇项目开发经验分享“基于JESD204B的LMK04821芯片项目开发...
  • 讲解Altium Designer6 的FPGA项目设计的pdf
  • 开源FPGA基金会的相关项目 硬件基础架构 OpenFPGA项目 屡获殊荣的开源FPGA IP生成器,支持高度可定制的同类FPGA架构Github存储库: : 工装 Verilog到路由(VTR)项目 Verilog到路由(VTR)项目是一项全球性的合作...
  • ​THE STARTFPGA是一种集成电路,由客户或设计人员在制造后配置,因此术语“现场可编程”。...来自Xilinx FPGA的Spartan FPGA包含一组可编程逻辑块,以及允许块“连接在一起”的“可重构互连”层次结构,就像许多...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,651
精华内容 1,460
关键字:

fpga项目