OpenCores
URL https://opencores.org/ocsvn/veristruct/veristruct/trunk

Subversion Repositories veristruct

[/] [veristruct/] [trunk/] [test.vs] - Blame information for rev 6

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 julius
/***********************************************************************
2
 *
3
 * This file is a part of the Rachael SPARC project accessible at
4
 * https://www.rachaelsparc.org. Unless otherwise noted code is released
5
 * under the Lesser GPL (LGPL) available at http://www.gnu.org.
6
 *
7
 * Copyright (c) 2005:
8
 *   Michael Cowell
9
 *
10
 * Rachael SPARC is based heavily upon the LEON SPARC microprocessor
11
 * released by Gaisler Research, at http://www.gaisler.com, under the
12
 * LGPL. Much of the architectural work on Rachael was done by g2
13
 * Microsystems. Contact michael.cowell@g2microsystems.com for more
14
 * information.
15
 *
16
 ***********************************************************************
17
 * $Id: test.vs,v 1.1 2008-10-10 21:03:35 julius Exp $
18
 * $URL: $
19
 * $Rev: $
20
 * $Author: julius $
21
 **********************************************************************
22
 *
23
 * Test Verilog file
24
 *
25
 **********************************************************************/
26
 
27
`sinclude "test.struct"
28
 
29
module test (
30
  // Inputs
31
  clk, reset, pie, pie2
32
  );
33
  input clk;
34
  input reset;
35
  input memory_bus pie2;
36
  input dual_bus pie;
37
 
38
  wire  dual_bus db1;
39
 
40
  reg   complex a;
41
 
42
  reg   memory_bus mb1;
43
  wire  dual_bus db2 = db1;
44
  reg [4:1] memory_bus mb2;
45
  reg [4:1] memory_bus mb5;
46
  reg [4:1] memory_bus mb6;
47
  wire      memory_bus mb3 = mb2[1];
48
 
49
  assign    db2.primary.req = 1'b1, db2.primary.address[31:28] = 4'h4;
50
  assign    db2.primary.address[31:28] = 4'h4;
51
 
52
  always @(posedge clk or posedge db2.primary.req
53
           or db2.secondary.address or mb2[1]) begin
54
    mb1.address <= 32'h12348765;
55
    begin assign mb2[1].req = 1'b1;
56
      force mb2[2].req = 1'b1;
57
      assign thing = mb6[2].address[16:0];
58
      release mb2[2].req;
59
    end
60
  end
61
 
62
  wire [3:0] memory_bus mb2;
63
 
64
  fake_module fake_inst2 (mb2[1], db1, db1.primary.req,
65
                          db1.primary.address[1], mb2[1].req);
66
 
67
  fake_module fake_inst ( . port1 ( mb2[1] ) ,
68
                          .port2 (db1),
69
                          .port3 (mb2[2]),
70
                          .port4 (db1.primary.req),
71
                          .port5 (db1.primary.address[1]),
72
                          .port6 (mb2[1].req));
73
 
74
  assign mb2[3].req = 1'b1;
75
 
76
  wire [15:0] temp;
77
  wire [1:0]  dual_bus db3;
78
 
79
  assign      temp = mb2[2].address[15:0], temp = db2[2].primary.data[4:3];
80
 
81
  assign      p=q, db3[2] =db2 , q=p;
82
 
83
  //assign      mb2[2].address[15:0] = 16'h00;
84
 
85
  always @(posedge clk) begin
86
    if (mb2[3].primary == 1'b1)
87
      temp = mb5[3].address[15:0];
88
    while (mb2[1].address[1] == 1'b1)
89
      #1;
90
    case (mb2[1].req)
91
      1'b1: temp <= 4'h1;
92
      1'b0: begin
93
        temp <= 4'h1;
94
        case (mb2[2].req)
95
          1'b1: temp <= 4'h2;
96
        endcase // case(mb2[2].req)
97
      end
98
      mb2[3].req, mb2[4].req: temp <= 4'hx;
99
    endcase // case(mb2[1].req)
100
    for (mb1.req = 1'b1; mb1.req < db1[1].primary.address[15]; mb2[1].req++)
101
      temp <= 1'b1;
102
    sometask(mb1.req);
103
  end
104
 
105
 
106
endmodule
107
 
108
/* */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.