当前位置: 首页 > wzjs >正文

wordpress 短信宁波seo外包快速推广

wordpress 短信,宁波seo外包快速推广,私人建设网站,合肥做网站可以吗一、概述 在上一章节中使用仿真简单验证了interconnect的功能,使用四个axi4的主端口同时发起读写命令,经过interconnect后,将这些读写指令依次发给ddr4控制器。Ddr4控制器响应后再依次将响应发送到各个通道。从而实现多通道读写ddr4控制器的功…

一、概述
在上一章节中使用仿真简单验证了interconnect的功能,使用四个axi4的主端口同时发起读写命令,经过interconnect后,将这些读写指令依次发给ddr4控制器。Ddr4控制器响应后再依次将响应发送到各个通道。从而实现多通道读写ddr4控制器的功能。
本章节继上一章节来概述实现的具体过程。

测试功能模块框图:
在这里插入图片描述
二、测试模块说明
通道0测试模块接口列表:
在这里插入图片描述
在这里插入图片描述
三、测试模块代码
module chnl_test_0(
input wire chnl_clk_0,
input wire chnl_rst_0,
//wr
output reg wr_start_0,
output reg [31:0] awaddr_in_0,
output reg [7:0] awlen_in_0,
output reg [511:0] wdata_in_0,
input wire wvalid_0,
input wire wready_0,
input wire [31:0] awaddr_cnt_0,
input wire wr_busy_0,
//rd
output reg rd_start_0,
output reg [31:0] araddr_in_0,
output reg [7:0] arlen_in_0,
input wire [511:0] rd_data_0,
input wire rd_en_0,
input wire [31:0] araddr_cnt_0,
input wire rd_end_0,
input wire rd_busy_0
);

reg [31:0] clk_cnt;

always @(posedge chnl_clk_0) begin
if (chnl_rst_0) begin
clk_cnt <= 0;
end
else if (clk_cnt <= 'd999) begin
clk_cnt <= clk_cnt + 1;
end
end

always @(posedge chnl_clk_0) begin
if (chnl_rst_0) begin
wr_start_0 <= 0;
end
else if (clk_cnt == 'd990) begin
wr_start_0 <= 1;
end
else begin
wr_start_0 <= 0;
end
end

always @(posedge chnl_clk_0) begin
if (chnl_rst_0) begin
awaddr_in_0 <= 0;
end
else if (clk_cnt == 'd990) begin
awaddr_in_0 <= 0;
end
else begin
awaddr_in_0 <= 0;
end
end

always @(posedge chnl_clk_0) begin
if (chnl_rst_0) begin
awlen_in_0 <= 0;
end
else if (clk_cnt == 'd990) begin
awlen_in_0 <= 'd127;
end
else begin
awlen_in_0 <= 0;
end
end

always @(posedge chnl_clk_0) begin
if (chnl_rst_0) begin
wdata_in_0 <= 0;
end
else if (wr_busy_0 == 0) begin
wdata_in_0 <= 0;
end
else if (wvalid_0 && wready_0) begin
wdata_in_0 <= wdata_in_0 + 1;
end
end

always @(posedge chnl_clk_0) begin
if (chnl_rst_0) begin
rd_start_0 <= 0;
end
else if (clk_cnt == 'd999) begin
rd_start_0 <= 1;
end
else begin
rd_start_0 <= 0;
end
end

always @(posedge chnl_clk_0) begin
if (chnl_rst_0) begin
araddr_in_0 <= 0;
end
else if (clk_cnt == 'd999) begin
araddr_in_0 <= 0;
end
else begin
araddr_in_0 <= 0;
end
end

always @(posedge chnl_clk_0) begin
if (chnl_rst_0) begin
arlen_in_0 <= 0;
end
else if (clk_cnt == 'd999) begin
arlen_in_0 <= 'd127;
end
else begin
arlen_in_0 <= 0;
end
end

endmodule
测试模块说明:
1、产生写开始标志:
使用计数器来触发读写开始标志,计数器计数到’d1000时停止计数。当计数器计数到’d990时产生写开始标志。
2、产生写起始地址:
与写开始标志同时产生。写地址可以为0,或者为64的整数倍,因为每个数据都需要64个地址来存储,ddr4的地址空间为4GB,使用64的整数倍作为起始地址,这样当写到ddr4的最后一个地址空间时,可以将完整的512位数据存储进去。如果将随意的地址作为写起始地址,当写到ddr4的最后一个地址空间时,不足以将完整的512位数据放进去。最后一个512位数据的地址空间不足64位,还需要使用掩码来将数据分开,而被掩掉的数据还需要写进ddr4的低位空闲地址中。这样不仅写入数据难度增加,后期读取数据的时候也不方便。所以使用64的整数倍作为起始地址,这样当ddr4写到最后的地址空间时,512位的数据也正好可以存储进去。
3、产生写长度:
与写开始标志同时产生。ddr4支持最高256突发长度.输入的写长度值最高为255。在测试代码中给的是127,写入128个数据。
4、产生读开始标志:
为了可以读出写入的数据,所以产生读开始标志时刻相比写开始标志晚几个时钟周期,当计数器计数到’d999时产生读开始标志。
5、产生读起始地址:
与读开始标志同时产生。我们的目的时将写入的数据读出来,所以读起始地址与写起始地址相同。
6、产生读长度:
与写开始标志同时产生。读长度与写长度相同。

以上为通道0的测试代码,与另外三个通道的测试代码大同小异,需要注意的是起始地址不要与其他通道冲突,不然在同一地址下,后写入的数据会将先写入的数据覆盖,导致读出该地址的数据为后写入的数据。例如通道0从地址0开始写入128个数据,那么本次写突发后,地址增加到64*128=8192,那么其他通道的读写地址应该避免在0-8192区间。

三、章节总结
本章节概述了测试模块的代码说明,详细讲解了如何产生读写信号,和突发地址和突发长度的注意事项。下一章节再继续讲述与interconnect交互的axi读写模块。
本文章由威三学社出品
对课程感兴趣可以私信联系

http://www.dtcms.com/wzjs/381467.html

相关文章:

  • 开设购物网站的方案网络营销的未来发展趋势
  • 网站建设需求文档模板百度seo优化软件
  • win2008 iis7创建网站搜索引擎优化的主要手段
  • 口碑好的福州网站建设郑州seo网站管理
  • 日照网站建设价格google关键词
  • 手机单页网站通用模板设计公司网站设计
  • 网站建设教育机构网络推广赚钱项目
  • 政府网站建设投标书网络推广引流最快方法
  • 深圳设计网站有哪些h5制作网站
  • 建设银行官方网站诚聘英才频道做企业推广
  • 孝感公司做网站企业网站优化外包
  • 国内net开发的网站建设查权重的软件
  • 软件开发专业就业前景如何网站seo优化网站
  • php网站开发工程师职责网络游戏推广员的真实经历
  • 网站上做独立博客重庆今天刚刚发生的重大新闻
  • 做关于什么样的网站好湖南网络推广公司大全
  • 浅谈幼儿园网站的建设与管理上海seo外包公司
  • 怎么给企业做网站软文有哪些
  • 做设计一般在那个网站找图关键词排名软件官网
  • 网站开发涉及到缓存吗seo是哪个英文的简写
  • 温州做真皮女鞋的网站有哪些网站安全检测平台
  • python 做爬虫网站百度网盘app下载
  • 网站被墙 做301跳转代运营公司怎么找客户
  • 品牌网站建设信息百度app内打开
  • html5网站开发框架互联网广告代理
  • 内部券网站怎么做公司推广渠道
  • 虚拟主机网站建设国外网站seo
  • 广西网站建设设计seo网络推广课程
  • 免费手机网站网站内链优化
  • 建设小说网站用什么软件下载高报师培训机构排名