OSDN Git Service

528ffa57c84eb5aa90ad671f2aa1079b2be59555
[oca1/test.git] / VGADisplay / Verilog / vram_ctrl.v
1 /*\r
2  Produced by NSL Core(version=20110302), IP ARCH, Inc. Sun Dec 25 22:47:10 2011\r
3  Licensed to Yujiro_Kaneko::zyangalianhamster01@gmail.com :NON PROFIT USER:\r
4 */\r
5 \r
6 module vram_ctrl ( p_reset , m_clock , i_Wdata , i_Wadrs , i_Radrs , o_Rdata , fi_Wr_req , fi_Rd_req , fo_Rd_ack );\r
7   input p_reset, m_clock;\r
8   input [7:0] i_Wdata;\r
9   input [12:0] i_Wadrs;\r
10   input [12:0] i_Radrs;\r
11   output [7:0] o_Rdata;\r
12   input fi_Wr_req;\r
13   input fi_Rd_req;\r
14   output fo_Rd_ack;\r
15   reg [12:0] r_Radrs_hld;\r
16   wire _u_VRAM_clock;\r
17   wire [7:0] _u_VRAM_data;\r
18   wire [12:0] _u_VRAM_rdaddress;\r
19   wire [12:0] _u_VRAM_wraddress;\r
20   wire _u_VRAM_wren;\r
21   wire [7:0] _u_VRAM_q;\r
22   wire _u_VRAM_p_reset;\r
23   wire _u_VRAM_m_clock;\r
24   wire _net_0;\r
25   reg _reg_1;\r
26   reg _reg_2;\r
27   wire _net_3;\r
28   wire _net_4;\r
29 vram u_VRAM (.p_reset(p_reset), .m_clock(m_clock), .q(_u_VRAM_q), .wren(_u_VRAM_wren), .wraddress(_u_VRAM_wraddress), .rdaddress(_u_VRAM_rdaddress), .data(_u_VRAM_data), .clock(_u_VRAM_clock));\r
30 \r
31    assign  _u_VRAM_clock = m_clock;\r
32    assign  _u_VRAM_data = i_Wdata;\r
33    assign  _u_VRAM_rdaddress = ((_net_3)?i_Radrs:13'b0)|\r
34     ((_reg_1)?r_Radrs_hld:13'b0);\r
35    assign  _u_VRAM_wraddress = i_Wadrs;\r
36    assign  _u_VRAM_wren = fi_Wr_req|\r
37     ((_net_0)?1'b0:1'b0);\r
38    assign  _net_0 = ~fi_Wr_req;\r
39    assign  _net_3 = fi_Rd_req|_reg_2;\r
40    assign  _net_4 = fi_Rd_req|_reg_1|_reg_2;\r
41    assign  o_Rdata = _u_VRAM_q;\r
42    assign  fo_Rd_ack = _reg_1;\r
43 always @(posedge p_reset)\r
44  begin\r
45 if (p_reset)\r
46      r_Radrs_hld <= 13'b0000000000000;\r
47 end\r
48 always @(posedge m_clock or posedge p_reset)\r
49   begin\r
50 if (p_reset)\r
51      _reg_1 <= 1'b0;\r
52 else if ((_net_4)) \r
53       _reg_1 <= _reg_2|fi_Rd_req;\r
54 end\r
55 always @(posedge m_clock or posedge p_reset)\r
56   begin\r
57 if (p_reset)\r
58      _reg_2 <= 1'b0;\r
59 else if ((_reg_2)) \r
60       _reg_2 <= 1'b0;\r
61 end\r
62 endmodule\r
63 /*\r
64  Produced by NSL Core(version=20110302), IP ARCH, Inc. Sun Dec 25 22:47:11 2011\r
65  Licensed to Yujiro_Kaneko::zyangalianhamster01@gmail.com \r
66 */\r