首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
一种高档FPGA可重构配置方法
来源:本站整理  作者:佚名  2009-08-25 08:46:45




为简化 CPLD的控制时序,便于对 FPGA进行自动配置,将 Flash的存储空间按顺序划分为 6个块,分别存储 6个配置数据。每个块包含 20个扇区,1.25MBytes存储空间。

CPLD控制部分软件设计与实现
3.1 EPM7064A的 Verilog HDL描述
EPM7064A是整个配置电路的核心,它完成 Flash配置数据的加载和配置时序的产生。按照由上至下的进行设计,将其分成三个主要功能模块,即数据加载过程中与 PC机通讯的 UART模块、写 Flash时序产生模块和配置时序产生模块,分别由 Verilog HDL硬件描述语言实现。
数据加载过程中,EPM7064A的 UART模块与 PC机通讯,同时产生 Flash编程控制字,将 PC机送来的数据写入指定的块。其主要工作过程是串口模块接收到一个字节数据后,其 DATARDY有效,触发 Flash写模块先将三个控制字数据 AA、55、A0写入 Flash,然后将接收到的数据写入 Flash。写 Flash仿真时序图如图 4所示。
 

数据读取和配置时序模块的主要程序代码如下:

module conf( clk20m, //设时钟频率20Mhz
…… ) //端口列表
…… //输入输出口定义
…… //寄存器定义
…… //配置模式参数定义
…… //工作状态参数定义
always@(posedge clk)
begin
if (conf_start==1) //配置启动脉冲启动一次配置
nCONFIG<=0;
if(nCONFIG==0)
count1<=count1+1;
if (count1<=50) //进入复位状态,复位时间大于2us
state<=reset;
if(count1>50)
nCONFIG<=1;
if(nSTATUS==1)
state<=configure; //进入配置状态
if(CONF_DONE)
begin state<=init; count2<=count2+1;end //进入初始化状态
if(INIT_DONE)
begin state<=user_mode;count2<=0;end //进入用户状态
end
always@(posedge clk)
begin
case(state)
reset: begin

上一页  [1] [2] [3] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:304,453.10000 毫秒