【iCore1S 双核心板_FPGA】例程十二:基于单口RAM的ARM+FPGA数据存取实验
实验现象:

核心代码:
module single_port_ram(
input CLK_12M,
input WR,
input RD,
input CS0,
inout [:]DB,
input [:]A,
output FPGA_LEDR,
output FPGA_LEDG,
output FPGA_LEDB
);
//----------------------------pll-------------------------------//
/*实例化MY_PLL模块,输出48M时钟*/
my_pll u1(
.inclk0(CLK_12M),
.c0(PLL_48M)
); //---------------------------rst_n----------------------------//
/*复位信号,10个周期后rst_n置1*/
reg [:]cnt_rst='d0;
reg rst_n; always@(posedge CLK_12M)
begin
if(cnt_rst=='d10)
begin
rst_n <= 'd1;
cnt_rst <= 'd10;
end
else cnt_rst <= cnt_rst + 'd1;
end //-------------------------fsmc-----------------------------//
wire rd =(CS0|RD);// 提取读信号
wire wr =(CS0|WR);// 提取写信号
reg wr_clk1,wr_clk2; always@(posedge PLL_48M or negedge rst_n)
begin
if(!rst_n)
begin
wr_clk1 <= 'd1;
wr_clk2 <= 'd1;
end
else {wr_clk2,wr_clk1} <= {wr_clk1,wr};
end wire clk = (!wr_clk2|!rd); //将读写信号转化为时钟信号
assign DB = !rd?DB_OUT :'hzzzz; //---------------------------ram-------------------------------//
/*实例化ram块*/
wire [:]DB_OUT; my_ram u2(
.address(A),
.clock(clk),
.data(DB),
.wren(!wr),
.rden(!rd),
.q(DB_OUT)
); //--------------------------led----------------------------// assign FPGA_LEDR = 'd1;
assign FPGA_LEDG = 'd0;
assign FPGA_LEDB = 'd1; //-----------------------endmodule-------------------------//
endmodule
实验方法及指导书:
链接:http://pan.baidu.com/s/1jIBXsSu 密码:38q7

【iCore1S 双核心板_FPGA】例程十二:基于单口RAM的ARM+FPGA数据存取实验的更多相关文章
- 【iCore4 双核心板_FPGA】例程十五:基于单口RAM的ARM+FPGA数据存取实验
实验现象: 写RAM命令格式:write:地址(0-255),数据(0-65535)\cr\lf 读RAM命令格式:read:地址(0-255)\cr\lf 核心代码: int main(void) ...
- 【iCore3 双核心板_FPGA】实验十八:基于单口RAM的ARM+FPGA数据存取实验
实验指导书及代码包下载: http://pan.baidu.com/s/1i58Ssvz iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...
- 【iCore1S 双核心板_FPGA】例程十七:基于双口RAM的ARM+FPGA数据存取实验
实验现象: 核心代码: module DUAL_PORT_RAM( input CLK_12M, inout WR, input RD, input CS0, :]A, :]DB, output FP ...
- 【iCore4 双核心板_FPGA】例程十六:基于双口RAM的ARM+FPGA数据存取实验
实验现象: 核心代码: int main(void) { /* USER CODE BEGIN 1 */ int i; int address,data; ; ]; ]; char *p; /* US ...
- 【iCore3 双核心板_FPGA】实验十九:基于双口RAM的ARM+FPGA数据存取实验
实验指导书及代码包下载: http://pan.baidu.com/s/1pLReIc7 iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...
- 【iCore3 双核心板】例程十二:通用定时器实验——定时点亮LED
实验指导书及代码包下载: http://pan.baidu.com/s/1kTWAAJ9 iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...
- 【iCore1S 双核心板_FPGA】例程二:GPIO输入实验——识别按键输入
实验现象: iCore1s 双核心板上与FPGA相连的三色LED(PCB上标示为FPGA·LED),按键按下红灯点亮,松开按键红灯熄灭. 核心源代码: module KEY( input CLK_12 ...
- 【iCore1S 双核心板_FPGA】例程十四:FSMC总线通信实验——独立地址模式
实验原理: STM32F103上自带FMC控制器,本实验将通过FMC总线的地址独立模式实现STM32与FPGA 之间通信,FPGA内部建立RAM块,FPGA桥接STM32和RAM块,本实验通过FSMC ...
- 【iCore1S 双核心板_FPGA】例程十三:FSMC总线通信实验——复用地址模式
实验原理: STM32F103上自带FMC控制器,本实验将通过FMC总线的地址复用模式实现STM32与FPGA 之间通信,FPGA内部建立RAM块,FPGA桥接STM32和RAM块,本实验通过FSMC ...
随机推荐
- 001.Linux网路配置
一 Linux的IP别名功能 1.1 简介 一块网卡具有多个IP地址的功能称为IP别名,即一块网卡可以绑定多个IP地址. 1.2 实现 [root@master ~]# vi /etc/sysconf ...
- C++雾中风景番外篇:理解C++的复杂声明与声明解析
在学习C系列语言的过程之中,理解C/C++的复杂声明一直是初学者很困扰的问题.笔者初学之时也深受困扰,对很多规则死记硬背.后续在阅读<C专家编程>之后,尝试在编译器的角度来理解C/C++的 ...
- [代码审计]某租车系统JAVA代码审计[前台sql注入]
0x00 前言 艰难徘徊这么久,终于迈出第一步,畏畏缩缩是阻碍大多数人前进的绊脚石,共勉. 系统是租车系统,这个系统是Adog师傅之前发在freebuf(http://www.freebuf.com/ ...
- Android入门笔记
Android项目的目录结构(Eclipse版) src:项目源代码文件夹 R.java:存放项目中所有资源文件的资源id,永远不要修改 Android.jar:Android的jar包,导入此包方可 ...
- window10 还原精灵 破解版 冰点
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha=======
- PHP系统级函数 get_headers() 包含有服务器响应一个 HTTP
get_headers() 是PHP系统级函数,他返回一个包含有服务器响应一个 HTTP 请求所发送的标头的数组.如果失败则返回 FALSE 并发出一条 E_WARNING 级别的错误信息(可用来判断 ...
- [TenserFlow学习笔记]——安装
最近人工智能.深度学习.机器学习等词汇很是热闹,所以想进一步学习一下.不一定吃这口饭,但多了解一下没有坏处.接下来将学习到的一些知识点做一下记录. 1.安装环境 在VMWare虚拟机中安装最新版本的U ...
- Hbase多版本的读写(Shell&Java API版)
Hbase是基于HDFS的NOsql数据库,它很多地方跟数据库差不多,也有很多不同的地方.这里就不一一列举了,不过Hbase有个版本控制的特性,这个特性在很多场景下都会发挥很大的作用.本篇就介绍下基于 ...
- axios 取消请求的方法
开发中遇到需要取消请求的功能,,点击终止查询可以取消开始查询请求,再次点击开始查询又可以进行查询. 解决方法:axios官方文档上的CancelToken,一开始用了这个api后,可以成功取消请求,但 ...
- [Mockito] Spring Unit Testing with Mockito
It is recommened to write unit testing with Mockito in Spring framework, because it is much faster w ...