查询:VGA控制器(Verilog)Basys 2板中使用的时钟分频器错误
我在VGA控制器(Basys 2板)中加入时钟分频器(40 MHz)时出错。我的编码错误是-输入缓冲区实例\u name/CLKIN\u IBUFG\u INST的端口I连接到GND。 请帮助删除此错误 代码如下:查询:VGA控制器(Verilog)Basys 2板中使用的时钟分频器错误,verilog,vga,Verilog,Vga,我在VGA控制器(Basys 2板)中加入时钟分频器(40 MHz)时出错。我的编码错误是-输入缓冲区实例\u name/CLKIN\u IBUFG\u INST的端口I连接到GND。 请帮助删除此错误 代码如下: module anymodule(input wire clk,reset, output wire hsynch,vsynch, output [2:0] red, output [2:0] green, output [1:0] blue, output video_on);
module anymodule(input wire clk,reset,
output wire hsynch,vsynch,
output [2:0] red,
output [2:0] green,
output [1:0] blue,
output video_on);
// defining constants
localparam HD = 800; // horizontal display area
localparam HF = 40; // front porch (right border)
localparam HB = 88; //right porch (left border)
localparam HR = 128; // horizontal retrace
localparam VD = 600; // vertical display area
localparam VF = 1; // front porch (bottom border)
localparam VB = 23; // back porch (top border)
localparam VR = 4; // vertical retrace
wire pixel_tick;
//clock divider
// Instantiate the module
clkdiv instance_name (
.CLKIN_IN(CLKIN_IN),
.RST_IN(RST_IN),
.CLKFX_OUT(pixel_tick),
.CLKIN_IBUFG_OUT(CLKIN_IBUFG_OUT),
.CLK0_OUT(CLK0_OUT),
.LOCKED_OUT(LOCKED_OUT)
);
//horizontal and vertical counter
reg [9:0] h_count = 0;
reg [9:0] v_count = 0;
wire [9:0] h_end,v_end;
assign h_end = HD+HF+HR+HB-1;
assign v_end = VD+VF+VR+VB-1;
always @(pixel_tick)
if(h_count<h_end)
h_count <= h_count+1;
else
h_count <= 0;
always @(*)
if(pixel_tick & h_end)
if(v_count<v_end)
v_count <= v_count+1;
else
v_count <= 0;
else
v_count <= v_count;
assign hsynch = ((h_count>= HD+HF-1) && (h_count<=HD+HF+HR+HB-1));
assign vsynch = ((v_count>=VD+VF-1) && (v_count<= VD+VF+VR+VB-1));
assign video_on = ((h_count <HD) && (v_count<VD));
wire [9:0] pixel_x,pixel_y;
assign pixel_x = (video_on)? h_count : 'b0;
assign pixel_y = (video_on)? v_count : 'b0;
reg [7:0] coloroutput;
always @(pixel_tick)
if(~video_on)
coloroutput <= 0;
else
begin
if(pixel_y<160)
coloroutput[7:5] <= 3'b111;
else if(pixel_y<320)
coloroutput[4:2] <= 3'b111;
else
coloroutput[1:0] <= 2'b11;
end
assign red = (video_on)?coloroutput[7:5] : 3'b000;
assign green = (video_on)?coloroutput[4:2] : 3'b000;
assign blue = (video_on)?coloroutput[1:0] : 3'b000;
endmodule
模块任意模块(输入线clk,复位,
输出线hsynch,vsynch,
输出[2:0]红色,
输出[2:0]绿色,
输出[1:0]蓝色,
输出视频(打开);
//定义常数
localparam HD=800;//水平显示区
localparam HF=40;//前廊(右边框)
localparam HB=88//右门廊(左边框)
localparam HR=128;//水平回程
localparam VD=600;//垂直显示区
localparam VF=1;//前廊(下边框)
localparam VB=23;//后廊(上边框)
localparam VR=4;//垂直回程
线像素;
//时钟分频器
//实例化模块
clkdiv实例名称(
.CLKIN_IN(CLKIN_IN),
.RST_IN(RST_IN),
.CLKFX_OUT(像素勾号),
.CLKIN_IBUFG_OUT(CLKIN_IBUFG_OUT),
.CLK0_OUT(CLK0_OUT),
.锁定(锁定)
);
//水平和垂直计数器
reg[9:0]h_计数=0;
reg[9:0]v_计数=0;
导线[9:0]h_端,v_端;
分配h_端=HD+HF+HR+HB-1;
分配v_end=VD+VF+VR+VB-1;
始终@(像素_勾选)
如果(h_count在
中搜索代码中的CLKIN_,则它只显示在下一行,这意味着没有任何驱动它的东西连接到地(GND)
//实例化模块
clkdiv实例名称(
.CLKIN_IN(CLKIN_IN),//您好,我将输入时钟信号名称从CLKIN_IN更改为我的时钟,即clk。模块现在已成功合成,但当我生成.bit文件时,我现在收到一个错误,该错误表示-“地点:1012-发现一个时钟IOB/DCM组件对未放置在最佳时钟IOB/DCM站点对上。如果此答案回答了您的问题,那么如果您接受此答案,以便其他人知道问题已解决,则会很有帮助。请在后续问另一个新问题,以便每个问题都能得到最佳答案。谢谢。”
// Instantiate the module
clkdiv instance_name (
.CLKIN_IN(CLKIN_IN), //<-- Not connected