fpga

创龙Xilinx Artix-7系列FPGA开发板的Micro SD卡、RS485

允我心安 提交于 2020-02-28 02:26:37
TLA7-EasyEVM开发板是一款由广州创龙基于Xilinx Artix-7系列FPGA自主研发的核心板+底板方式的开发板,可快速评估FPGA性能。核心板尺寸仅70mm x 50mm,采用沉金无铅工艺的1 0 层板设计,专业的PCB Layout保证信号完整性的同时,经过严格的质量控制,满足工业环境应用。 SOM-TLA7核心板引出CPU全部资源信号引脚,二次开发极其容易,客户只需要专注上层应用,大大降低了开发难度和时间成本,让产品快速上市,及时抢占市场先机。不仅提供丰富的Demo程序,还提供详细的开发教程,全面的技术支持,协助客户进行底板设计、调试以及软件开发。 Micro SD卡 CON 8 是Micro SD卡接口,主用于外接大容量数据存储,硬件及引脚定义如下图 : RS485 CON 6 为RS485串口,使用3位接线端子,硬件及引脚定义如下图 : 来源: oschina 链接: https://my.oschina.net/u/4169033/blog/3165956

创龙Xilinx Artix-7系列FPGA开发板的PCIe接口、XADC接口

青春壹個敷衍的年華 提交于 2020-02-27 15:06:35
TLA7-EasyEVM开发板是一款由广州创龙基于Xilinx Artix-7系列FPGA自主研发的核心板+底板方式的开发板,可快速评估FPGA性能。核心板尺寸仅70mm x 50mm,采用沉金无铅工艺的1 0 层板设计,专业的PCB Layout保证信号完整性的同时,经过严格的质量控制,满足工业环境应用。 SOM-TLA7核心板引出CPU全部资源信号引脚,二次开发极其容易,客户只需要专注上层应用,大大降低了开发难度和时间成本,让产品快速上市,及时抢占市场先机。不仅提供丰富的Demo程序,还提供详细的开发教程,全面的技术支持,协助客户进行底板设计、调试以及软件开发。 PCIe接口 开发板引出 了PCle Gen2接口4通道( CON9) ,单通道通信速率5GBaud,硬件及引脚定义如下图 : XADC 接口 开发板引出了 FPGA内部XADC信号,硬件及引脚定义如下图 : 来源: oschina 链接: https://my.oschina.net/u/4169033/blog/3158850

FPGA_黑金AX301B_示例代码_001_LED

一个人想着一个人 提交于 2020-02-25 12:50:51
示例代码_001_LED ****************LED流水灯************* `timescale 1ns/1ps //======================================= //模块声明 //======================================== module led( clk, //the clock on the board -50MHz rst_n, //reset botton led ); //======================================= //端口申明 //====================================== input clk; input rst_n; output [3:0] led; //寄存器定义 reg [31:0] timer; reg [3:0] led; reg flag; //========================================= //LED //========================================= always@(posedge clk or negedge rst_n) begin if(~rst_n) led <= 4'b0001; else if(flag =

FPGA和usb2.0 CY7C68013通信实现bulkloop

旧街凉风 提交于 2020-02-24 04:56:54
步骤 具体的FPGA代码 具体的usb固件程序和驱动 首先安装usb2.0芯片的电脑驱动,CySuiteUSB_3_4_7_B204.exe; win10下禁用系统签名,设置-更新和安全-恢复-高级启动-立即重启-疑难解答-高级选项-启动设置-重启-输入数字7-完成; 安装好的驱动目录下有大量的文件和程序资料,其中bulkloop.iic下载进去之后,可以实现如下功能 但要实现PC端发送信息到usb芯片,再通过FPGA转发回来,需要修改usb固件,不然默认程序会像上述那样自动转发; 针对cy7c68013的固件程序,我们只需要修改bulkloop项目中的bulkloop.c文件里的TD_Init和TD_Poll函数 这里都是站在PC的角度来看的输入和输出; 这个时候下载好fpga的程序之后,就可以实现和之前同样的收发功能; 问题: 尝试改用官方提供的CYstream.iic程序,测试新功能。但是使用官方的工具CyConsole下载IIC程序进入usb芯片,但是下载之后发现无法重新下载新的固件,CyConsole出现下载地址冲突,由于usb器件启动默认是IIC引导的,导致无法继续使用,除非对外部的IIC芯片拆下来重新刷写。我这里去掉了IIC器件和CY7C68013连接的跳线帽,让cy7c68013从自己的RAM引导,才可以重新使用。 来源: CSDN 作者: 暖暖的时间回忆 链接:

FPGA笔记1 ——FPGA开发流程

老子叫甜甜 提交于 2020-02-23 02:14:11
流程 1 /设计定义 2 /设计输入(Verilog等) 3 /分析与综合(quartus2) 4 /功能仿真 (modelsim-altera) 5 /布局布线 6 /时序仿真 (modelsim-altera) (不成功——时序约束) 7 /io分配 及配置文件的生成 8 /烧写fpga 9 /在线调试(逻辑分析仪等)------------------ 示例 二选一多路器(按键控制led) /1设计定义 两个 IO ,(ab) 可以是高电平 也可以是低电平 输入按键,按下时LED 与 a端口 状态保持一致 释放时LED 与 b端口 状态保持一致 开始! 创建新的工程 文件保存位置设置 工程名设置 文件保存位置 在一个大文件夹内创建四个子文件夹 选择prj rtl代码 doc文档 img图 prj 工程 然后 在添加代码页面 next 然后选择器件型号 设置EDA中 仿真工具 选择modelsim—Altera 语言选择 verilog 新建—— 、 代码组成 module led_test ( a , b , key_in,led ) ; //顶层模块名要工程保持一致 括号里的是端口列表 模块中有几个 //端口 然后下一步 就是需要对 端口进行解释 哪个是哪个? input a ; input b ; //输入端口 a 与 b input key_in ; //按键输入

DSP与STM32大PK

大憨熊 提交于 2020-02-22 22:58:02
1.FPGA:是可编程逻辑阵列,常用于处理高速数字信号,不过随着科技的发展,现在很多FPGA CPLD可以集成mcu内核,甚至具备了ARM DSP的功能 2.ARM,是一类内核的称谓,就像51一样,具体到芯片的话,会有很多不同的厂家不同等级,诸如三星、易法、飞利浦、摩托罗拉等等,其中STM32是易法半导体的一款面向工控低功耗内核为Cortex M3内核的ARM芯片 3.DSP顾名思义就是数字信号处理,厂家主要是德州仪器(TI)主要用于数字型号处理等对运算速度有特殊要求的场合,诸如音频视频算法,军工等领域,但同时dsp有2000 5000 6000等系列也可满足不场合需要 1.FPGA一般不会用来做复杂的系统,只用来做些简单的系统如状态机实现的自动售货机...展开>等,多少还是用来做信号的高速变换和处理,毕竟它只是可编程逻辑阵列。 2.ARM和DSP就各有千秋了; ARM的系列从V3 V5 V7 V9 XSCALE,从thumb指令到arm指令(thumb arm也可同时实现),可以说遍布机会所有的领域,只要你接的价格可以接受(其实许多arm并不是很贵的),单片机所有的功能基本他都能实现,我就不用举例子,特别是现在与各种RTOS结合更是开发方便功能强大。 DSP相对arm价格要贵些,这也是可能个体厂家使用较少的一个原因吧,2000系列主要用于工控特别是2812这个用的人比较多

基于matlab的fpga硬件在环仿真

限于喜欢 提交于 2020-02-22 06:58:19
准备工作 首先在matlab下的simulink中创建测试模块,通过测试模块产生信号,再传送到FPGA。FPGA处理后将信号无处理传送回matlab。 首先创建板子信息 根据本机软件安装地址修改对应的ToolPath,ToolName是根据软件固定好的; xilinx ISE的示例如下 hdlsetuptoolpath(‘ToolName’,‘Xilinx ISE’,‘ToolPath’,‘C:\Xilinx\14.2\ISE_DS\ISE\bin\nt64’) Xilinx Vivado的如下 hdlsetuptoolpath(‘ToolName’,‘Xilinx Vivado’,‘ToolPath’,‘C:\apps\Vivado\2013.4-mw-0\Win\bin\vivado’) altera的如下 hdlsetuptoolpath(‘ToolName’,‘Altera Quartus II’,‘ToolPath’,‘C:\Altera\12.0\quartus\bin64’) 运行filWizard 然后创建板子信息,一步步往下,这里选择JTAG方式调试(也可以是网络方式,最后有提及),这里板子信息为AC6102开发板; 电平标准的名字不能随便填,可以是LVCMOS33这样子,具体参看自己的开发板工程中引脚配置的电平标准名字; 配置好之后板子信息如下所示:

FPGA/CPLD状态机稳定性研究

☆樱花仙子☆ 提交于 2020-02-19 19:45:33
摘要 在FPGA/CPLD设计中频繁使用的状态机,常出现一些稳定性问题,本文提出了一些解决方法,实验表明该方法有效地提高了综合效率.   随着大规模和超大规模FPGA/CPLD器件的诞生和发展,以HDL(硬件描述语言)为工具、FPGA/CPLD器件为载体的EDA技术的应用越来越广泛.从小型电子系统到大规模SOC(Systemonachip)设计,已经无处不在.在FPGA/CPLD设计中,状态机是最典型、应用最广泛的时序电路模块,如何设计一个稳定可靠的状态机是我们必须面对的问题. 1、状态机的特点和常见问题 标准状态机分为摩尔(Moore)状态机和米立(Mealy)状态机两类.Moore状态机的输出仅与当前状态值有关,且只在时钟边沿到来时才会有状态变化.Mealy状态机的输出不仅与当前状态值有关,而且与当前输入值有关,这一特点使其控制和输出更加灵活,但同时也增加了设计复杂程度.其原理如图1所示.   根据图1所示,很容易理解状态机的结构.但是为什么要使用状态机而不使用一般时序电路呢?这是因为它具有一些一般时序电路无法比拟的优点. 用VHDL描述的状态机结构分明,易读,易懂,易排错; 相对其它时序电路而言,状态机更加稳定,运行模式类似于CPU,易于实现顺序控制等. 用VHDL语言描述状态机属于一种高层次建模,结果经常出现一些出乎设计者意外的情况: 在两个状态转换时,出现过渡状态.

FPGA中的竞争与冒险现象

霸气de小男生 提交于 2020-02-19 19:32:01
  首先要知道,信号在FPGA器件内部通过连线和逻辑单元时,都有一定的延时。延时的大小与连线的长短和逻辑单元的数目有关,同时还受器件的制造工艺,工作电压,温度等条件的影响。信号的高低电平转换也需要一定的过渡时间。由于存在这两方面因素,多路信号的电平值发生变化时,在信号变化的瞬间,组合逻辑的输出有先后顺序,并不是同时变化,往往会出现一些不正确的尖峰信号,这些尖峰信号称为“毛刺”。如果一个组合逻辑电路中有“毛刺”出现,就说明该电路存在“冒险”。与分立元件不同,由于FPGA内部不存在寄生电容电感,这些毛刺将被完整的保留并向下一级传递,因此毛刺现象在FPGA设计中尤为突出。   冒险往往会影响到逻辑电路的稳定性。时钟端口,清零和置位端口对毛刺信号十分敏感,任何一点毛刺都可能会使系统出错,因此判断逻辑电路中是否存在冒险以及如何避免冒险是设计人员必须要考虑的问题。   如何处理毛刺呢?我们可以通过改变设计,破坏毛刺产生条件,来减少毛刺的发生。例如,在数字电路设计中,常常采用格雷码计数器取代普通的二进制计数器,这是因为格雷码计数器的输出每次只有一位跳变,消除了竞争冒险的发生条件,避免了毛刺的产生。   毛刺并不是对所有的输入都有危害,例如D触发器的D输入端,只要毛刺不出现在时钟的上升沿并且满足数据的建立和保持时间,就不会对系统造成危害,我们可以说D触发器的D输入端对毛刺不敏感。根据这个特性

FPGA前世今生(一)

我只是一个虾纸丫 提交于 2020-02-16 03:23:50
关于FPGA,我想做硬件的或多或少都听过。从上世纪80年代算来,FPGA已走过了30多个年头。我们以FPGA两大生产厂商,两大巨头之一的INTEL(altera)公司的FPGA为例,为大家逐步介绍FPGA的前世今生。 FPGA(Field-Programmable Gate Array),直译为现场可编程门阵列。是在PAL、GAL、CPLD等可编程器件的基础上进一步发展而来的。作为专用集成电路(ASIC)领域中的一种半定制电路出现,即解决定制电路的不足,又克服了原有可编程电路数有限的缺点。 ALTERA FPGA内部主要结构是逻辑单元。以CYCLONE IV为例,16个逻辑单元组成一个逻辑阵列块(LAB),大量的LAB组成了FPGA的基本结构。 逻辑单元LE,内部主要由查找表(LUT),进位逻辑(C),和输出寄存器(通常为DFF)组成。 现在的FPGA,我们不在会问内部的逻辑门数是多少,如果这么问,明显缺乏专业知识。我们通常会问这块FPGA内部逻辑单元有多少个。同样,逻辑单元已不在和逻辑门等效。逻辑单元内部包含了FPGA设计的最终要的结构,DFF。 LUT,本质是个4输入的查找表,用硬件描述语言描述一个组合逻辑后,开发软件会自动计算所有结构放入RAM,4输入相当于4根地址线进行查表就可以了。LUT不仅可以实现逻辑运算,主要的算数运算也是由LUT实现的。在实现逻辑运算时