码迷,mamicode.com
首页 > 其他好文 > 详细

调用ISE的IP核,配置RAM。(实例化)

时间:2018-08-23 15:45:18      阅读:1563      评论:0      收藏:0      [点我收藏+]

标签:time   设置   depend   深度   div   端口   模块名   style   project   

  1. 配置IP核可以参考网上教程,有很多,这里不做赘述。注意的是本次使用的是单端口RAM, 在设置时,人为勾选了ena片选信号。

  2. 关于配置RAM时的数据宽度和深度问题。

   答: 数据宽度规定为8位, 数据深度本来定义18根地址总线[17:0],把深度在设置中定义为18。但在初始化端口中显示addr只有4位,故重新定义深度为2的17次方为131072。

  3. 实例化RAM代码(verilog), 这里top文件包含4个IP核RAM,共用clk, wr_en, data_in,addr接口,ena片选信号有4位。 并且做了例化,例化时注意端口配置,例化名称两个问题。

  

 1 `timescale 1ns / 1ps
 2 //////////////////////////////////////////////////////////////////////////////////
 3 // Company: 
 4 // Engineer: 
 5 // 
 6 // Create Date:    14:13:45 08/22/2018 
 7 // Design Name: 
 8 // Module Name:    test_bram 
 9 // Project Name: 
10 // Target Devices: 
11 // Tool versions: 
12 // Description: 
13 //
14 // Dependencies: 
15 //
16 // Revision: 
17 // Revision 0.01 - File Created
18 // Additional Comments: 
19 //
20 //////////////////////////////////////////////////////////////////////////////////
21 module test_bram
22 (
23     data_in, addr, ena, wr_en, clk, data_out1, data_out2, data_out3, data_out4
24 );
25 
26 input wr_en, clk;
27 input [3:0] ena;
28 input [7:0] data_in;
29 output [7:0] data_out1;
30 output [7:0] data_out2;
31 output [7:0] data_out3;
32 output [7:0] data_out4;
33 input [17:0] addr;
34 
35 wire wr_en, clk;
36 wire [3:0] ena;
37 wire [7:0] data_in;
38 wire [17:0] addr;
39 wire [7:0] data_out1;
40 
41 
42 inst_ram_1 inst1  //其中inst_ram是调用的子模块名称, inst1是在顶层模块中使用的实例名称。
43 (
44     .dina(data_in),
45     .clka(clk),
46     .ena(ena[0]),
47     .addra(addr),
48     .douta(data_out1),
49     .wea(wr_en)
50 );
51 
52 inst_ram_1 inst2
53 (
54     .dina(data_in),
55     .clka(clk),
56     .ena(ena[1]),
57     .addra(addr),
58     .douta(data_out2),
59     .wea(wr_en)
60 );
61 
62 inst_ram_1 inst3
63 (
64     .dina(data_in),
65     .clka(clk),
66     .ena(ena[2]),
67     .addra(addr),
68     .douta(data_out3),
69     .wea(wr_en)
70 );
71 
72 inst_ram_1 inst4
73 (
74     .dina(data_in),
75     .clka(clk),
76     .ena(ena[3]),
77     .addra(addr),
78     .douta(data_out4),
79     .wea(wr_en)
80 );
81 endmodule

 

调用ISE的IP核,配置RAM。(实例化)

标签:time   设置   depend   深度   div   端口   模块名   style   project   

原文地址:https://www.cnblogs.com/m-hhh/p/9523630.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!