A
amr090
Guest
Спроба отримати цей код, на роботу ... він виконується нормально, по simvision .. але коли я передача коду на Xilinx ... я отримую проблеми ....
Код:Модуль datainout (DataToFPGA, DataFromFPGA, ClrFPGAMem, DataValidToFPGA, DataValidFromFPGA, ClkToFPGA);
вхід [7:0] DataToFPGA;
виробництва [7:0] DataFromFPGA;
введення ClrFPGAMem;
введення DataValidToFPGA;
DataValidFromFPGA виробництва;
введення ClkToFPGA;рег [31:0] Temp;рег [7:0] DataFromFPGA;
рег DataValidFromFPGA;
рег [2:0] держави;Параметр Sinit = 3'b000;
Параметр Sread = 3'b001;
Параметр Swrite = 3'b010;
Параметр Spause = 3'b100;Я ціле;
цілочисельного J;завжди @ (negedge ClkToFPGA або posedge DataValidToFPGA)
починати
якщо (ClrFPGAMem)
починати
стан = Sinit;
DataValidFromFPGA = 1'b0;
DataFromFPGA = 8'bzzzzzzzz;
кінець
ще
починати
справи (держави)
Sinit: почати
якщо (DataValidToFPGA)
починати
I = 1;
стан = Sread;
кінець
ще
стан = Sinit;
кінець
Sread: початиТемпература [8 * (I-1)] = DataToFPGA [0];
Температура [8 * (I-1)] = DataToFPGA [1];
Температура [8 * (I-1)] = DataToFPGA [2];
Температура [8 * (I-1)] = DataToFPGA [3];
Температура [8 * (I-1)] = DataToFPGA [4];
Температура [8 * (I-1)] = DataToFPGA [5];
Температура [8 * (I-1)] = DataToFPGA [6];
Температура [8 * (I-1)] = DataToFPGA [7];I = I 1;
якщо (! DataValidToFPGA)
стан = Spause;
кінець
Spause: почати
I = 1;
DataValidFromFPGA = 1'b1;
стан = Swrite;
кінець
Swrite: почати
якщо (DataValidFromFPGA)
починатиDataFromFPGA [0] = Temp [8 * (I-1)];
DataFromFPGA [1] = Temp [8 * (I-1)];
DataFromFPGA [2] = Temp [8 * (I-1)];
DataFromFPGA [3] = Temp [8 * (I-1)];
DataFromFPGA [4] = Temp [8 * (I-1)];
DataFromFPGA [5] = Temp [8 * (I-1)];
DataFromFPGA [6] = Temp [8 * (I-1)];
DataFromFPGA [7] = Temp [8 * (I-1)];I = I 1;
кінець
якщо (I == 6) DataValidFromFPGA = 1'b0;
кінецьendcase
кінець
кінець
endmodule
Код:Модуль datainout (DataToFPGA, DataFromFPGA, ClrFPGAMem, DataValidToFPGA, DataValidFromFPGA, ClkToFPGA);
вхід [7:0] DataToFPGA;
виробництва [7:0] DataFromFPGA;
введення ClrFPGAMem;
введення DataValidToFPGA;
DataValidFromFPGA виробництва;
введення ClkToFPGA;рег [31:0] Temp;рег [7:0] DataFromFPGA;
рег DataValidFromFPGA;
рег [2:0] держави;Параметр Sinit = 3'b000;
Параметр Sread = 3'b001;
Параметр Swrite = 3'b010;
Параметр Spause = 3'b100;Я ціле;
цілочисельного J;завжди @ (negedge ClkToFPGA або posedge DataValidToFPGA)
починати
якщо (ClrFPGAMem)
починати
стан = Sinit;
DataValidFromFPGA = 1'b0;
DataFromFPGA = 8'bzzzzzzzz;
кінець
ще
починати
справи (держави)
Sinit: почати
якщо (DataValidToFPGA)
починати
I = 1;
стан = Sread;
кінець
ще
стан = Sinit;
кінець
Sread: початиТемпература [8 * (I-1)] = DataToFPGA [0];
Температура [8 * (I-1)] = DataToFPGA [1];
Температура [8 * (I-1)] = DataToFPGA [2];
Температура [8 * (I-1)] = DataToFPGA [3];
Температура [8 * (I-1)] = DataToFPGA [4];
Температура [8 * (I-1)] = DataToFPGA [5];
Температура [8 * (I-1)] = DataToFPGA [6];
Температура [8 * (I-1)] = DataToFPGA [7];I = I 1;
якщо (! DataValidToFPGA)
стан = Spause;
кінець
Spause: почати
I = 1;
DataValidFromFPGA = 1'b1;
стан = Swrite;
кінець
Swrite: почати
якщо (DataValidFromFPGA)
починатиDataFromFPGA [0] = Temp [8 * (I-1)];
DataFromFPGA [1] = Temp [8 * (I-1)];
DataFromFPGA [2] = Temp [8 * (I-1)];
DataFromFPGA [3] = Temp [8 * (I-1)];
DataFromFPGA [4] = Temp [8 * (I-1)];
DataFromFPGA [5] = Temp [8 * (I-1)];
DataFromFPGA [6] = Temp [8 * (I-1)];
DataFromFPGA [7] = Temp [8 * (I-1)];I = I 1;
кінець
якщо (I == 6) DataValidFromFPGA = 1'b0;
кінецьendcase
кінець
кінець
endmodule