Verilogで書かれているCPUのコンパイルをしたいのですが、なぜかできません。ソースコードはこのGithubです。top entityはtop.vです。IBUFGDSなどを調べたらこのsystem.vだけにありました。system.vだけclk_outが大文字と被っているとエラーを受けたのでclk_out_lowerに変更しました。
<環境>Windows 10, Quartus 21.1.1, Verilog-2001.
error
1Error (12006): Node instance "ibuf" instantiates undefined entity "IBUFGDS". Ensure that required library paths are specified correctly, define the specified entity, or change the instantiation. If this entity represents Intel FPGA or third-party IP, generate the synthesis files for the IP. 2Error (12006): Node instance "obuf" instantiates undefined entity "BUFG". Ensure that required library paths are specified correctly, define the specified entity, or change the instantiation. If this entity represents Intel FPGA or third-party IP, generate the synthesis files for the IP. 3Error (12006): Node instance "fbuf" instantiates undefined entity "BUFG". Ensure that required library paths are specified correctly, define the specified entity, or change the instantiation. If this entity represents Intel FPGA or third-party IP, generate the synthesis files for the IP. 4Error (12006): Node instance "mmcm" instantiates undefined entity "MMCME2_ADV". Ensure that required library paths are specified correctly, define the specified entity, or change the instantiation. If this entity represents Intel FPGA or third-party IP, generate the synthesis files for the IP. 5Info (144001): Generated suppressed messages file C:/Users/user/GitHub/Ridecore/output_files/Ridecore.map.smsg
system.v
1/**************************************************************************************************/ 2/* Many-core processor project Arch Lab. TOKYO TECH */ 3/**************************************************************************************************/ 4`default_nettype none 5/**************************************************************************************************/ 6`include "define.v" 7/**************************************************************************************************/ 8 9module CLKGEN_DCM(CLK_IN, CLK_OUT, LOCKED); 10 input wire CLK_IN; 11 output wire CLK_OUT, LOCKED; 12 13 wire clk_ibuf; 14 wire clk_out_lower; 15 wire clk0, clk0_fbuf; 16 17 // input buffer 18 IBUFG ibuf (.I(CLK_IN), 19 .O(clk_ibuf)); 20 // output buffer 21 BUFG obuf (.I(clk_out_lower), 22 .O(CLK_OUT)); 23 // feedback buffer 24 BUFG fbuf (.I(clk0), 25 .O(clk0_fbuf)); 26 27 // dcm instantiation 28 DCM_SP dcm (// input 29 .CLKIN (clk_ibuf), 30 .RST (1'b0), 31 // output 32 .CLKFX (clk_out_lower), 33 .LOCKED (LOCKED), 34 // feedback 35 .CLK0 (clk0), 36 .CLKFB (clk0_fbuf), 37 // phase shift 38 .PSEN (1'b0), 39 .PSINCDEC(1'b0), 40 .PSCLK (1'b0), 41 // digital spread spectrum 42 .DSSEN (1'b0)); 43 44 defparam dcm.CLKIN_PERIOD = `DCM_CLKIN_PERIOD; 45 defparam dcm.CLKFX_MULTIPLY = `DCM_CLKFX_MULTIPLY; 46 defparam dcm.CLKFX_DIVIDE = `DCM_CLKFX_DIVIDE; 47endmodule 48 49/**************************************************************************************************/ 50 51module CLKGEN_MMCM(CLK_IN, CLK_OUT, LOCKED); 52 input wire CLK_IN; 53 output wire CLK_OUT, LOCKED; 54 55 wire clk_out_lower; 56 wire clkfb, clkfb_fbuf; 57 58 // output buffer 59 BUFG obuf (.I(clk_out_lower), 60 .O(CLK_OUT)); 61 // feedback buffer 62 BUFG fbuf (.I(clkfb), 63 .O(clkfb_fbuf)); 64 65 MMCME2_ADV mmcm (// input 66 .CLKIN1 (CLK_IN), 67 .CLKIN2 (1'b0), 68 .CLKINSEL (1'b1), 69 .RST (1'b0), 70 .PWRDWN (1'b0), 71 // output 72 .CLKOUT0 (clk_out_lower), 73 .CLKOUT0B (), 74 .CLKOUT1 (), 75 .CLKOUT1B (), 76 .CLKOUT2 (), 77 .CLKOUT2B (), 78 .CLKOUT3 (), 79 .CLKOUT3B (), 80 .CLKOUT4 (), 81 .CLKOUT5 (), 82 .CLKOUT6 (), 83 .LOCKED (LOCKED), 84 // feedback 85 .CLKFBOUT (clkfb), 86 .CLKFBIN (clkfb_fbuf), 87 .CLKFBOUTB (), 88 // dynamic reconfiguration 89 .DADDR (7'h0), 90 .DI (16'h0), 91 .DWE (1'b0), 92 .DEN (1'b0), 93 .DCLK (1'b0), 94 .DO (), 95 .DRDY (), 96 // phase shift 97 .PSCLK (1'b0), 98 .PSEN (1'b0), 99 .PSINCDEC (1'b0), 100 .PSDONE (), 101 // status 102 .CLKINSTOPPED (), 103 .CLKFBSTOPPED ()); 104 105 defparam mmcm.CLKIN1_PERIOD = `MMCM_CLKIN1_PERIOD; 106 defparam mmcm.CLKFBOUT_MULT_F = `MMCM_VCO_MULTIPLY; 107 defparam mmcm.DIVCLK_DIVIDE = `MMCM_VCO_DIVIDE; 108 defparam mmcm.CLKOUT0_DIVIDE_F = `MMCM_CLKOUT0_DIVIDE; 109 defparam mmcm.CLKOUT1_DIVIDE = `MMCM_CLKOUT1_DIVIDE; 110endmodule 111 112/**************************************************************************************************/ 113 114module RSTGEN(CLK, RST_X_I, RST_X_O); 115 input wire CLK, RST_X_I; 116 output wire RST_X_O; 117 118 reg [7:0] cnt; 119 assign RST_X_O = cnt[7]; 120 121 always @(posedge CLK or negedge RST_X_I) begin 122 if (!RST_X_I) cnt <= 0; 123 else if (~RST_X_O) cnt <= (cnt + 1'b1); 124 end 125endmodule 126 127/**************************************************************************************************/ 128 129module GEN_DCM(CLK_I, RST_X_I, CLK_O, RST_X_O); 130 input wire CLK_I, RST_X_I; 131 output wire CLK_O, RST_X_O; 132 133 wire LOCKED; 134 135 CLKGEN_DCM clkgen(.CLK_IN (CLK_I), 136 .CLK_OUT(CLK_O), 137 .LOCKED (LOCKED)); 138 RSTGEN rstgen(.CLK (CLK_O), 139 .RST_X_I(RST_X_I & LOCKED), 140 .RST_X_O(RST_X_O)); 141endmodule 142 143module GEN_MMCM(CLK_I, RST_X_I, CLK_O, RST_X_O); 144 input wire CLK_I, RST_X_I; 145 output wire CLK_O, RST_X_O; 146 147 wire clk_ibuf; 148 wire LOCKED; 149 150 // input buffer 151 IBUFG ibuf (.I(CLK_I), 152 .O(clk_ibuf)); 153 154 CLKGEN_MMCM clkgen(.CLK_IN (clk_ibuf), 155 .CLK_OUT(CLK_O), 156 .LOCKED (LOCKED)); 157 RSTGEN rstgen(.CLK (CLK_O), 158 .RST_X_I(RST_X_I & LOCKED), 159 .RST_X_O(RST_X_O)); 160endmodule 161 162module GEN_MMCM_DS(CLK_P, CLK_N, RST_X_I, CLK_O, RST_X_O); 163 input wire CLK_P, CLK_N, RST_X_I; 164 output wire CLK_O, RST_X_O; 165 166 wire clk_ibuf; 167 wire LOCKED; 168 169 // input buffer 170 IBUFGDS ibuf (.I (CLK_P), 171 .IB(CLK_N), 172 .O (clk_ibuf)); 173 174 CLKGEN_MMCM clkgen(.CLK_IN (clk_ibuf), 175 .CLK_OUT(CLK_O), 176 .LOCKED (LOCKED)); 177 RSTGEN rstgen(.CLK (CLK_O), 178 .RST_X_I(RST_X_I & LOCKED), 179 .RST_X_O(RST_X_O)); 180endmodule 181 182/**************************************************************************************************/ 183`default_nettype wire 184/**************************************************************************************************/ 185

あなたの回答
tips
プレビュー