转至:https://blog.csdn.net/Headogerz/article/details/82251621

1.前文提到通过硬件代码描述可以将程序固化到flas中,但是只能实现单一功能,无法实现多功能切换。本文通过调用ise的ip核,固化代码实现流水灯与呼吸灯的切换。

2.这次的联系,主要是为了下次的在线升级的多种功能综合做铺垫。如果只是为了实现这种转换,利用状态机也可以实现,icap可以将flash实现功能分离。实现多个功能不在需要下载器下载。

3.练习代码如下:

module   icap_ctrl(input wire    sclk,input  wire    rst_n,input wire    key_in
);reg       [3:0]       cnt;
reg                 ce;
reg     [15:0]      tmp_i;
wire    [15:0]      i_data;always@(posedge sclk or negedge rst_n)      //cnt14if(!rst_n)cnt<=4'd0;else if(cnt==14)cnt<=4'd0;else if (ce==0)cnt<=cnt+1'b1;always@(posedge sclk or negedge rst_n)  //ceif(!rst_n)ce<=1'b1;else if(cnt==14)ce<=1'b1;else if (key_in==1)ce<=1'b0;always@(posedge sclk or negedge rst_n)if(!rst_n)tmp_i<=16'hffff;else case(cnt)0:    tmp_i<=16'hffff;1: tmp_i<=16'haa99;2: tmp_i<=16'h5566;3: tmp_i<=16'h3261;4: tmp_i<=16'h0000;   //5:    tmp_i<=16'h3281;6: tmp_i<=16'h0300;   //7:    tmp_i<=16'h32a1;8: tmp_i<=16'h0000;   //9:    tmp_i<=16'h32c1;10:    tmp_i<=16'h030b;   //11:   tmp_i<=16'h30a1;12:    tmp_i<=16'h000e;13:    tmp_i<=16'h2000;14:    tmp_i<=16'hffff;default:   tmp_i<=16'hffff;endcase
assign i_data={tmp_i[8],tmp_i[9],tmp_i[10],tmp_i[11],tmp_i[12],tmp_i[13],tmp_i[14],tmp_i[15],tmp_i[0],tmp_i[1],tmp_i[2],tmp_i[3],tmp_i[4],tmp_i[5],tmp_i[6],tmp_i[7]};ICAP_SPARTAN6 #(.DEVICE_ID(28'h4000093),     // Specifies the pre-programmed Device ID value.SIM_CFG_FILE_NAME("NONE")  // Specifies the Raw Bitstream (RBT) file to be parsed by the simulation// model
)
ICAP_SPARTAN6_inst (.BUSY(),   // 1-bit output: Busy/Ready output.O(),         // 16-bit output: Configuartion data output bus.CE(ce),       // 1-bit input: Active-Low ICAP Enable input.CLK(sclk),     // 1-bit input: Clock input.I(i_data),         // 16-bit input: Configuration data input bus.WRITE(1'b0)  // 1-bit input: Read/Write control input
);endmodule

基于FPGA的flash分区实现多功能转换(icap核)相关推荐

  1. esp32 Flash分区与OTA功能简析

    升级功能对于所有的嵌入式产品都是非常重要的.尤其是当产品量产/销售阶段,已经没有条件让厂家对产品升级,因此升级方式的设计必须防呆防错以及稳定. 乐鑫ESP32作为蓝牙WIFI合一的物联网芯片,开发成产 ...

  2. 基于 FPGA 实现滑动显示、多功能数字时钟【设置年月日时分秒以及闹钟】

    目录 一.数码管原理 二.基础篇 2.1 原理及代码 2.2 验证结果 三.进阶篇 3.1 原理及代码 3.2 验证结果 四.数字时钟 4.1 原理及代码 4.2 验证结果 本文内容:基于 FPGA ...

  3. flash 怎么擦掉fpga_基于FPGA的flash板卡程序擦除与固化

    1.擦除程序,程序擦除是可以用软件,但本文主要讨论用代码实现擦除.擦除已经固化好的程序需要对flash芯片(M25P94)的时序进行描述.时序原理如图所示: 这里主要是对flash的前8个扇区进行擦除 ...

  4. 基于FPGA状态机的自动售货机功能实现

    用FPGA制作一个简单的自动售货机 这篇博客讲了如何用FPGA模拟实现自动售卖机的功能. 文章目录 用FPGA制作一个简单的自动售货机 1. 程序功能和总体框架详解 2.Divider分频模块 3.D ...

  5. 七、基于FPGA的Flash控制器设计

    根据项目需求,设计一个Flash控制器.以便将完成低速数据的存储.Flash选用了S25FL032.使用单线SPI接口,接线如图: 1,Flash S25fl032介绍 1.1 IO描述 1.2 相关 ...

  6. 基于FPGA的电子密码锁

    基于FPGA的电子密码锁 实现的功能: 1. 设计制作一个数字密码锁,共有8位密码,要求该密码是字母与数字的结合.输入密码由LCD显示 2. 系统上电后,8位初始密码为0000_0000. 3. 输入 ...

  7. 基于FPGA的智力抢答器设计

    配套FPGA开发板(含该设计的工程代码):https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-4676525296.4.6e8950ed57YPh ...

  8. Vivado环境下基于FPGA的IP实现FFT变换

    这里写自定义目录标题 环境 层次结构 仿真 实现 HDL 顶层文件 仿真文件 dds文件 IP配置 FFT ROM COE文件生成 reference 环境 Vivado Modelsim 仿真 层次 ...

  9. 基于FPGA的SPI FLASH控制器设计

    1.SPI FLASH的基本特征 本文实现用FPGA来设计SPI FLASH,FLASH型号为W25Q128BV.支持3种通信方式,SPI.Dual SPI和Quad SPI.FLASH的存储单元无法 ...

最新文章

  1. linux系统中的目录讲解
  2. Java系列:《Java核心技术 卷一》学习笔记,chapter11 记录日志
  3. .net中的mapinfo开发:准备(一)
  4. 真快!10秒内将k8s集群运行起来
  5. Event Recommendation Engine Challenge(基础版)---代码
  6. 计算机英语一级考试试题,全国计算机一级考试试题及答案
  7. 为什么越有钱的人负债越多?
  8. nyoj 86 找球号(一)
  9. 电脑进不了系统怎么重装系统win11
  10. paypal html5 支付,H5网站接入Paypal支付接口
  11. excel表格的边框线怎么去除html,在EXCEL中如何去掉表头的边框线
  12. 《Walden》单词词频统计
  13. 推荐几个高效文章搜索网站
  14. html网页页面显示不正常原因,网页不能正常显示css是什么原因?
  15. Spring Boot入门系列(六)Spring Boot如何使用Mybatis XML 配置版【附详细步骤】
  16. 高中数学40分怎么办_新高一第一次考试数学只考了40分,还有救吗?
  17. 什么样的女人适合嫁给男博士 ?
  18. java实现百度人脸识别API(SpringBoot集成)
  19. matlab 读指定字符,Matlab 文件读写(I/O)和字符串操作常用命令
  20. 智能家居远程监控系统的设计及实现

热门文章

  1. 【语音增强论文解读 02】DCCRN: Deep Complex Convolution Recurrent Network for Phase-AwareSpeech Enhancement
  2. 磁带机LTO类型简单介绍(Tape drive LTO type)
  3. java zip 压缩乱码_java实现zip压缩中文文件名乱码怎么办?
  4. B/S中的三层架构和MVC设计模型
  5. springboot配置文件注入方式一--bunny0728
  6. SPSS学习笔记——验证性因子分析
  7. 学习笔记5--高精地图技术
  8. 转载:不可不知的端午习俗
  9. r5 5600u和锐龙r5 4500u的区别
  10. 创建符合MMdetection要求的训练数据集