what's problem this top&design

Guest #4395123
Rate this post
• ▲ useful
▼ not useful
1
module diceroll(
2
  input    wire           CLK,
3
  input    wire           RST,
4
  input    wire           roll,
5
  output   wire   [2:0]   dice1,
6
  output   wire   [2:0]   dice2
7
);
8
  
9
  reg [7:0] lfsr1;
10
  reg [4:0] lfsr2;
11
  wire [7:0] temp1;
12
  wire [4:0] temp2;
13
  
14
  assign temp1 = lfsr1 % 6 + 1;
15
  assign temp2 = lfsr2 % 6 + 1;
16
  assign dice1 = (roll) ? temp1[2:0] : 3'b000;
17
  assign dice2 = (roll) ? temp2[2:0] : 3'b000;  
18

19
  always @ (posedge CLK or posedge RST)
20
    begin
21
      if(RST)
22
        lfsr1 <= 8'b00000001;
23
      else
24
        begin
25
          lfsr1[0] <= lfsr1[3] ^ lfsr1[4] ^ lfsr1[5] ^ lfsr1[7];
26
          lfsr1[1] <= lfsr1[0];
27
          lfsr1[2] <= lfsr1[1];
28
          lfsr1[3] <= lfsr1[2];
29
          lfsr1[4] <= lfsr1[3];
30
          lfsr1[5] <= lfsr1[4];
31
          lfsr1[6] <= lfsr1[5];
32
          lfsr1[7] <= lfsr1[6];
33
        end
34
    end
35
  
36
  always @ (posedge CLK or posedge RST)
37
    begin
38
      if(RST)
39
        lfsr2 <= 5'b00001;
40
      else
41
        begin
42
          lfsr2[0] <= lfsr2[4] ^ lfsr2[2];
43
          lfsr2[1] <= lfsr2[0];
44
          lfsr2[2] <= lfsr2[1];
45
          lfsr2[3] <= lfsr2[2];
46
          lfsr2[4] <= lfsr2[3];
47
        end
48
    end
49
  
50
endmodule
51

52
module dice_top (
53
    input   wire            CLK,
54
    input   wire            RST,
55
    input   wire            Rb,
56
    output  reg     [2:0]   dice1,
57
    output  reg     [2:0]   dice2,
58
    output  reg             win,
59
    output  reg             lose
60

61
);
62
    wire    [2:0]   a;
63
    wire    [2:0]   b;
64
    wire            roll;
65
    wire            win_w;
66
    wire            lose_w;
67

68
    always @*
69
    begin
70
        dice1<=a;
71
        dice2<=b;
72
        win<=win_w;
73
        lose<=lose_w;
74
    end
75
    
76
    DICE    top  (
77
        .CLK        (CLK),
78
        .RST        (RST),
79
        .dice1      (a),
80
        .dice2      (b),
81
        .Rb         (Rb),
82
        .win        (win_w),
83
        .lose       (lose_w),
84
        .roll       (roll)
85
    );
86
            
87
    diceroll      dice(
88
        .CLK        (CLK),
89
        .RST        (RST),
90
        .roll       (roll),
91
        .dice1      (a),
92
        .dice2      (b)
93
    );
94

95
endmodule
Error-[URMI] Unresolved modules
testbench.sv, 27
"DICE top( .RST (RST),  .CLK (CLK));"
  Module definition of above instance is not found in the design.

1 error

I DO NOT known..
Guest #4395501
Rate this post
• ▲ useful
▼ not useful
Lothar M. wrote:
> frowerwolrd wrote:
>> Module definition of above instance is not found in the design.
> I'm not the Verilog man, but the toolchain seems to be right: there is
> no "module top". So try a "dice_top" instead the "top"...
>

In Verilog the order is module name followed by instance name. The 
missing module is named DICE, a simple name change won't help here.
Keep in mind Verilog is case sensitive.

Reply

Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.

Formatting
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]
  • [[Title]] – link to an article
  • Link to another post: right-click its post ID (#8078628), copy the address, paste it into the text

More about formatting

Post long source code as an attachment, not in the text.

Already registered? Log in

Not shown to anyone. We send you a link; your post appears once you confirm it there.

By submitting you create a free account and accept the terms of use.