Я пытаюсь научить себя ПЛИС, используя дизайн-лабораторию Nexsys 2 (Spartan 3E 1200 FPGA) и Xilinx 12.4.Мне удалось заставить работать большинство основных функций, но я не могу изменить регистр в блоке always
и назначить ему выход.Вот мой урезанный код для мигающего светодиода.
`timescale 1ns / 1ps
`define MHZ 33000
module VerilogFirst(
input clk,
output led5
);
reg myout = 1'b0;
reg[0:8] timer = 8'b00000000;
always @(posedge clk) begin
if (timer >= `MHZ) begin
myout <= ~myout;
timer <= 0;
end
else begin
myout <= myout;
timer <= timer + 1;
end
end
assign led5 = myout;
endmodule
И UCF:
NET "clk" LOC = "B8";# Bank = 0, Pin name = IP_L13P_0/GCLK8, Type = GCLK, Sch name = GCLK0
NET "led5" LOC = "P15";# Bank = 1, Pin name = IO, Type = I/O, Sch name = LD4? s3e500 only
Все работает нормально, но когда я пытаюсь сгенерировать битовый поток, я получаюошибка, указывающая на то, что светодиод не подключен ни к чему.
ERROR:PhysDesignRules:368 - The signal <led5_OBUF> is incomplete. The signal is not driven by any source pin in the design.
ERROR:PhysDesignRules:10 - The network <led5_OBUF> is completely unrouted.
ERROR:Bitgen:25 - DRC detected 2 errors and 1 warnings. Please see the previously displayed individual error or warning messages for more details.