Я пытаюсь запустить свой проект в моделировании Post-Route. Моделирование поведения работает нормально, и я хочу, чтобы оно работало на плате Spartan 3E Starter. Он также может генерировать файл программирования в процессе реализации.
Использование ISE 14.7
Ошибка, которую я получаю:
Process "Generate Post-Place & Route Simulation Model" completed successfully
Started : "Simulate Post-Place & Route HDL Model".
Determining files marked for global include in the design...
Running fuse...
Command Line: fuse -intstyle ise -incremental -lib simprims_ver -lib unisims_ver -lib unimacro_ver -lib xilinxcorelib_ver -o /home/alex/projects/ece369/datapath/PostRoute_tb_isim_par.exe -prj /home/alex/projects/ece369/datapath/PostRoute_tb_par.prj work.PostRoute_tb work.glbl {}
Running: /opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/unwrapped/fuse -intstyle ise -incremental -lib simprims_ver -lib unisims_ver -lib unimacro_ver -lib xilinxcorelib_ver -o /home/alex/projects/ece369/datapath/PostRoute_tb_isim_par.exe -prj /home/alex/projects/ece369/datapath/PostRoute_tb_par.prj work.PostRoute_tb work.glbl
ISim P.20131013 (signature 0xfbc00daa)
Number of CPUs detected in this system: 4
Turning on mult-threading, number of parallel sub-compilation jobs: 8
Determining compilation order of HDL files
Analyzing Verilog file "/home/alex/projects/ece369/datapath/src/PostRoute_tb.v" into library work
ERROR:Simulator:702 - Can not find design unit work.glbl in library work located at isim/work
На вкладке «Дизайн» он показывает ClockDivider и DATAPATH_TEST как «?». Когда я устанавливаю связь с «все» на «моделирование», файлы появляются, но я получаю сообщение об ошибке «Верхний модуль не был указан».
Из поиска Google я попробовал «очистить файлы проекта», а также воссоздал проект. Я также попытался получить glbl.v из /opt/Xilinx/14.7/ISE_DS/ISE/verilog/src/ и вставил его, но я не уверен, что с ним делать.
Мой тестовый стенд:
`timescale 1ns / 1ps
module PostRoute_tb();
reg Clk, Rst, Rst_t;
wire Clk_slow;
wire [31:0] out_0, out_1;
reg [31:0] ii;
TopClkDiv #(25) ClockDivider(
.Clk(Clk),
.Rst(Rst_t),
.ClkOut(Clk_slow)
);
Datapath DATAPATH_TEST(
.Clk(Clk_slow),
.Rst(Rst),
.Rst_t(Rst_t),
.out_0(out_0),
.out_1(out_1)
);
always begin
Clk <= 0;
#250;
Clk <= 1;
#250;
end
initial begin
Rst <= 1;
Rst_t <= 1;
ii <= 0;
#222;
Rst <= 0;
Rst_t <= 0;
while (ii < 50000) begin
@(posedge Clk_slow)
ii = ii + 1;
end
end
endmodule