当前位置:首页 > 工业控制 > 电子设计自动化
[导读]摘要:通过对现有可编程芯片下载方案的研究,针对某些用户对“现场可编程”的要求,本文提出了一种基于FPGA的数据高速动态下载方案,并简要介绍了该方案的硬件设计与实现思想。 1 引言 随着可编程逻辑器件的快速发展,


摘要:通过对现有可编程芯片下载方案的研究,针对某些用户对“现场可编程”的要求,本文提出了一种基于FPGA的数据高速动态下载方案,并简要介绍了该方案的硬件设计与实现思想。

1 引言

随着可编程逻辑器件的快速发展,器件的成本不断降低,已有越来越多的应用领域用到 可编程逻辑器件。它本身具有的可编程能力,可以方便设计者轻松升级系统,并且使设计的 算法以硬件的方式执行,大大提高了系统的处理速度。FPGA 以其具有极大的灵活性和现场 可编程特性得到广泛的应用。按工艺划分,FPGA 可分为反熔丝型、FLASH 型和SRAM 型。 反熔丝型虽然具有极强的保密性、但由于仅能编程一次,在使用上受到极大限制;FLASH 型FPGA 克服了反熔丝型FPGA 的缺点,但受结构和工艺限制,在容量上有时很难满足实 际需求;目前SRAM 型FPGA 以其具有容量大、可反复编程特性得到广泛应用,目前市场 上大容量FPGA(10 万门以上)无一例外都是基于SRAM 结构。然而SRAM 型FPGA 最大 的缺点是需要外挂一片FLASH 配置芯片,该芯片对用户完全透明,可以通过下载电缆或专 用编程器进行编程。由于该芯片可以方便的进行复制和修改,因此配置文件极易被非法窃取, 设计师的知识产权无法得到充分保障。

本文分析研究了 ALTERA 公司的FPGA 下载方式、下载文件数据结构及被动串行下载 时序,提出了一种基于PCI 接口总线的现场配置电路设计方案。该电路模块与PCI9656 芯 片控制模块融合在一起,配合上层应用软件,借助于主机PCI 总线和PCI 设备驱动程序, 利用QUARTUS II 软件产生的二进制流文件直接对FPGA 芯片进行现场下载,下载采用 ALTERA 公司FPGA 的被动串行方式,具有很好的通用性。

2 适配卡电路结构

本设计方案的设计是基于PCI 总线适配卡,适配卡为一高速数据采集卡,主要包括PCI 总线接口芯片、局部总线控制模块、内部运算与通信控制模块。电路的整体结构框图如图1 所示。


通过分析 PCI 总线的传输与外围设备如FIFO、SRAM、Flash 的时序知道,SRAM 属于 同步设备,所有的读写操作均发生在时钟上升沿,SRAM 写时序与PCI 总线的时序一致, 可直接采用该时序进行控制,FIFO 也属于同步设备,FIFO 读写时序及Flash 属于异步设备 通过设计相应的简单时序控制逻辑就能满足与PCI 总线通信时序的要求。

3 下载电路硬件设计方案

3.1 PS 配置时序

FPGA 具有被动串行(PS)、主动串行(AS)和JTAG 三种下载方式,其中PS 模式为 ALTERA 公司FPGA 的通用下载方式,操作透明、配置简单。在该模式下,外部电路采用5 条信号线对FPGA 进行配置,分别为配置时钟DCLK,配置数据DATA0,配置启动nCONFIG, 配置状态nSTATUS,配置完成CONF_DONE 信号。配置时序如图2 所示。


3.2 下载模块电路设计

在 EPM7256A 内部设计下载电路,电路由D 锁存器、长度计数器、数据移位寄存器、 状态机、状态寄存器及局部总线控制模块构成。D 锁存器锁存主机送入的命令,输入连接局 部总线数据为LD[1:0],LD[1:0]=01 为启动配置、10 为等待数据命令、11 为结束配置命令, 该命令输出到配置控制状态机,作为控制输入。数据长度计数--器内部存放本次配置的数据 长度,位宽5bit,连接局部总线LD[7:3],计数器最大计数范围为24,每写入1bit,长度值 减1,当减至0 时,产生借位信号,作为本次配置完成信号,送入状态机。数据移位寄存器共计24bit 宽,内部装载本次配置的数据,在状态机的控制下,顺序移出,写入FPGA。局 部总线控制模块产生局部总线的写使能、读有效信号,当PCI9054 寻址到20004000H 时, 产生写使能信号,PCI9054 寻址到20000000H 时,产生状态寄存器读输出有效信号。状态寄 存器输出连接局部总线,输入连接FPGA 配置状态信号nSTATUS、CONF_DONE 和本次配 置完成信号。电路框图如图3 所示:




3.3 下载电路状态机设计

状态机是该下载模块的重要组成部分,负责协调各个模块的工作。其输入时钟信号 LCLK,复位信号LRESET#,下载电路写使能,DLC_WEN,本次配置完成指示:CONFIG_DATA_BO;输 出 为 配 置时钟DCLK , 配置启动nCONFIG , 配置数据: DATA0 , 移位使能 CONFIG_DATA_SHEN,计数使能CONFIG_LEN_EN。状态机包括“等待命令状态”SF0、 “启动配置状态”SF1、“等待数据状态”SF2、“配置数据状态1”SF31、“配置数据状态2” SF32,其状态转换过程如下:

状态SF0:“等待命令状态”,等待软件配置启动命令。

此时:CONFIG_EN = 1、CONFIG_DATA_SHEN = 0 、CONFIG_LEN_EN = 0 、DCLKQ = 0、nCONFIGQ = 1;

若DLC_WEN_SH=1 且命令为0x01H,则进入状态S1;

否则维持 S0 状态不变。

状态 SF1:“启动配置状态”。

此时:CONFIG_EN = 0、CONFIG_DATA_SHEN = 0 、CONFIG_LEN_EN = 0 、DCLKQ = 0、nCONFIGQ = 0;

若 DLC_WEN_SH=1 且命令为0x02H,则进入“等待数据状态”;否则维持 S1 状态不变。

状态 SF2:“等待数据状态”。

此时: CONFIG_EN = 0、CONFIG_DATA_SHEN = 0 、CONFIG_LEN_EN = 0 、DCLKQ = 0、nCONFIGQ = 1;

若 DLC_WEN_SH=1 且命令为0x03H,则进入“配置数据状态1”S31,若 DLC_WEN_SH=1 且命令为0x00H,则返回“等待命令状态”S0,否则维持 S2 状态不变。

状态 SF31:“配置数据状态1”。发DCLK 为高电平及第N-bit 有效数据此时:CONFIG_EN = 0、CONFIG_DATA_SHEN = 1 、CONFIG_LEN_EN =1 、

DCLKQ = 1、nCONFIGQ = 1;进入状态 S32。

状态 SF32:“配置数据状态2”。发DCLK 为低电平及第(N+1)-bit 有效的数据此时:CONFIG_EN = 0、CONFIG_DATA_SHEN = 0 、CONFIG_LEN_EN = 0 、

DCLKQ = 0、nCONFIGQ = 1;

若 CONFIG_DATA_BO = 1 则进入状态 S31;

否则返回“等待数据状态”S2。

4 下载电路软件设计方案

下载电路软件设计主要功能是读取待下载文件,初始化硬件设备,按照下载电路的时 序要求将数据和控制命令写入相应的PCI 存储空间。初始化、配置设置、下载的实质都是 通过数据总线将固定格式的命令和数据写入到命令寄存器,并在这个过程中不断读取状态寄 存器的值以监测是否有错误发生。

首先开机,启动操作系统,EPM7256A 内部电路已下载。其次进行初始化操作。通过 数据总线向地址S0+E000H(配置端口)写入初始化命令0x01H,延迟一段时间,读取地址 S0+0000H(状态寄存器)内的数据,直至检测到配置标志位CONF_DONE、nSTATUS 均为 0,初始化工作完成。再次进行配置启动。向地址S0+E000H(配置端口)写入配置命令0x02H, 延迟一段时间,读取地址S0+0000H 状态寄存器内的数据,直至检测到配置标志位 CONF_DONE 为0、nSTATUS 为1,配置FPGA2 工作完成。接着进行配置数据,向地址 S0+E000H(配置端口)写入数据。Bit[2..0]固定接为011,作为配置数据命令;Bit[7..3]为本 次下载的有效数据长度;Bit[31:8]为要下载数据,Bit[31]最先下载、Bit[8]最后下载。读取地 址S0+0000H(状态寄存器)内的数据,直至检测到配置标志位CONFIG_DATA_BO 为0。 若检测到CONFIG_DATA_BO=1,表明本次操作尚未完成,继续执行配置数据,否则执行下 一步。最后进行数据配置完成检验。读取地址S0+0000H(状态寄存器)内容,直至检测到 配置标志位CONF_DONE、nSTATUS 均为1,表明全部数据配置完成,向地址S0+E000H (配置端口)写入数据0x00H,完成本次下载软件操作。

5 结束语

方案严格按照 FPGA 的PS 模式进行配置,实现了专用芯片在DOS 系统下的动态配置。 经过试验验证,按照该方案设计的电路速度快,运行稳定,设计完全达到了预期的目的。

本文作者创新点: 该设计方案实现了FGPA 掉电后内部数据的自动清除,可以保障专用 芯片的保密性;另外本方案选用ALTERA 公司的EPM7256A 作为配置芯片,在其内部实现 下载电路,真正实现了“现场可编程”,根据本设计思想还可以轻松做到在线升级。



参考文献:

[1].PCI datasheethttp://www.dzsc.com/datasheet/PCI+_1201469.html.
[2].EPM7256A datasheethttp://www.dzsc.com/datasheet/EPM7256A+_301023.html.
[3].1bitdatasheethttp://www.dzsc.com/datasheet/1bit_2178090.html.
[4].PCI9054 datasheethttp://www.dzsc.com/datasheet/PCI9054+_1054563.html.
[5].SF2datasheethttp://www.dzsc.com/datasheet/SF2_1184527.html.
[6].SF31datasheethttp://www.dzsc.com/datasheet/SF31_604269.html.
[7].SF32datasheethttp://www.dzsc.com/datasheet/SF32_604270.html.


来源:xinxin0次

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

近日,一则关于 AI 算力领域的消息引发行业震动!据科技网站 The Information 援引四位知情人士爆料,中国科技巨头阿里巴巴与百度已正式将自研芯片应用于 AI 大模型训练,打破了此前对英伟达芯片的单一依赖。

关键字: AI 算力 阿里 百度 芯片 AI模型

上海2025年9月5日 /美通社/ -- 由上海市经济和信息化委员会、上海市发展和改革委员会、上海市商务委员会、上海市教育委员会、上海市科学技术委员会指导,东浩兰生(集团)有限公司主办,东浩兰生会展集团上海工业商务展览有...

关键字: 电子 BSP 芯片 自动驾驶

9月1日消息,继小鹏、零跑后,现在小米汽车也宣布了8月的交付量。

关键字: 小米汽车 芯片

当地时间 8 月 22 日,美国芯片制造商英特尔公司宣布与美国联邦政府达成协议,后者将向英特尔普通股投资 89 亿美元,以每股 20.47 美元的价格收购 4.333 亿股英特尔普通股,相当于该公司 9.9% 的股份。

关键字: 英特尔 半导体 芯片

在当今数字化时代,人工智能(AI)和高性能计算(HPC)的迅猛发展对 GPU 芯片的性能提出了极高要求。随着 GPU 计算密度和功耗的不断攀升,散热问题成为了制约其性能发挥的关键因素。传统的风冷方案已难以满足日益增长的散...

关键字: 人工智能 高性能计算 芯片

8月20日消息,博主数码闲聊站暗示,9月底大概率只有小米16系列会亮相,其它骁龙8 Elite 2旗舰、天玑9500旗舰新品都将排到10月份,新机大乱斗会在国庆假期之后开始。

关键字: 小米雷军 芯片

8月21日消息,据媒体报道,英伟达宣布将自研基于3nm工艺的HBM内存Base Die,预计于2027年下半年进入小规模试产阶段,此举旨在弥补其在HBM领域的技术与生态短板。

关键字: 英伟达 黄仁勋 芯片 显卡

继寻求收购英特尔10%的股份之后,近日又有消息称,特朗普政府正在考虑通过《芯片法案》资金置换股权的方式,强行收购美光、三星、台积电三大芯片巨头的股份。若此举落地,美国政府将从“政策扶持者”蜕变为“直接股东”,彻底重塑全球...

关键字: 芯片 半导体

在集成电路设计流程中,网表作为连接逻辑设计与物理实现的关键桥梁,其分模块面积统计对于芯片性能优化、成本控制和资源分配具有重要意义。本文将详细介绍如何利用 Python 实现网表分模块统计面积的功能,从网表数据解析到面积计...

关键字: 网表 芯片 分模块

8月19日消息,封禁4个多月的H20为何突然又被允许对华销售,这其实是美国设计好的。

关键字: 英伟达 黄仁勋 芯片 显卡
关闭