您的位置:首页 > 教育 > 锐评 > 适合推广的app有哪些_网站运营培训班_怎样精选关键词进行网络搜索_seo千享科技

适合推广的app有哪些_网站运营培训班_怎样精选关键词进行网络搜索_seo千享科技

2025/1/7 22:17:10 来源:https://blog.csdn.net/m0_59708799/article/details/144853387  浏览:    关键词:适合推广的app有哪些_网站运营培训班_怎样精选关键词进行网络搜索_seo千享科技
适合推广的app有哪些_网站运营培训班_怎样精选关键词进行网络搜索_seo千享科技

        学习汇总正点原子bi站教学视频。但由于目前的学习板PL端缺乏时钟晶振,所以需要从PS端调用时钟供给PL端使用,也就造成顶层文件的设置出现一些问题,在IP核创建调用和例化过程中一些功能会受到限制,所以以下仅作汇总参考。

zynq_7000家族中的7010和7020的ram资源如上图,每一片ram随机存储器的内存为36K,上图中的Block RAM对应的资源为多片ram拼凑起来的资源总和。其中单片ram又可以做灵活分割处理。

 以下是创建RAM对应的IP核的两个步骤:

上图中标注的存储器类型分别包括单端ram(同时读写)、伪双端ram(一端读,一端写(但读写固定))、真双端ram(一端读、一端写,且读写端均可以切换读和写的功能)以及rom(关闭写的一端)等等,也可以看出ram和rom的资源是共用的。

另一幅图则涉及读写端口的设定,包括读写端口的数据宽度和深度,设置读写优先级以及端口使能的功能。

另附上顶层文件以及对应RAM的IP核的.v文件的程序:

`timescale 1ns / 1ps
// Create Date: 2024/12/31 10:31:35
// Design Name: top文件
// Module Name: test_026_ramIP
module test_026_ramIP(input    sys_clk,input    sys_rst_n);wire  ram_en;wire  rw;wire  [4:0]  ram_addr;wire  [7:0]  ram_w_data;wire  [7:0] douta;  //设置为线型避免输出端创建需要分配8个引脚//lihua,IP核调用,ram读写控制ram_IP_rw  ram_IP_rw_u(.sys_clk         (sys_clk),    .sys_rst_n       (sys_rst_n),  .ram_en          (ram_en),     .rw              (rw),         .ram_addr        (ram_addr),   .ram_w_data      (ram_w_data));//lihua,IP核调用ramIP_1 ramIP_1_u (.clka(sys_clk),    // input wire clka.ena(ram_en),      // input wire ena.wea(rw),      // input wire [0 : 0] wea.addra(ram_addr),  // input wire [4 : 0] addra.dina(ram_w_data),    // input wire [7 : 0] dina.douta(douta)  // output wire [7 : 0] douta
);endmodule

 

//ram IP核读写控制
module ram_IP_rw(input               sys_clk,input               sys_rst_n,output  reg         ram_en,output  reg         rw,output  reg  [4:0]  ram_addr,output  reg  [7:0]  ram_w_data);//使能设置always@(posedge sys_clk or negedge sys_rst_n)beginif(!sys_rst_n)ram_en <= 1'b0;else ram_en <= 1'b1;  end    reg  [5:0]  rw_cnt;    //读写切换计数器 always@(posedge sys_clk or negedge sys_rst_n)beginif(!sys_rst_n)rw_cnt <= 6'b0;else if(rw_cnt == 6'd63)rw_cnt <= 6'b0;elserw_cnt <= rw_cnt + 6'd1;  endalways@(posedge sys_clk or negedge sys_rst_n)beginif(!sys_rst_n)ram_w_data <= 8'b0;    else if((rw_cnt >= 6'd31) && ram_en)ram_w_data <= ram_w_data + 8'b1; elseram_w_data <= ram_w_data;end //读写切换:always@(posedge sys_clk or negedge sys_rst_n)beginif(!sys_rst_n)rw <= 1'b1;//初始默认为高,也就是写状态else if(rw_cnt >= 6'd31)rw <= 1'b1;elserw <= 1'b0;endalways@(posedge sys_clk or negedge sys_rst_n)beginif(!sys_rst_n)   ram_addr <= 5'd0;else ram_addr <= rw_cnt[4:0];  //位宽设定,前31位读写end endmodule

 示意图如下:

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com