помощ!

A

amr090

Guest
Опитвате се да получите този код да работи ... тя работи добре по simvision .. но когато прехвърлянето на кода върху xilinx ... аз добивам проблеми ....

Код:Модулът datainout (DataToFPGA, DataFromFPGA, ClrFPGAMem, DataValidToFPGA, DataValidFromFPGA, ClkToFPGA);

вход [7:0] DataToFPGA;

изход [7:0] DataFromFPGA;

вход ClrFPGAMem;

вход DataValidToFPGA;

DataValidFromFPGA продукция;

вход ClkToFPGA;рег. [31:0] температура;рег. [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] = температура [8 * (I-1)];

DataFromFPGA [1] = температура [8 * (I-1)];

DataFromFPGA [2] = температура [8 * (I-1)];

DataFromFPGA [3] = температура [8 * (I-1)];

DataFromFPGA [4] = температура [8 * (I-1)];

DataFromFPGA [5] = температура [8 * (I-1)];

DataFromFPGA [6] = температура [8 * (I-1)];

DataFromFPGA [7] = температура [8 * (I-1)];I = I 1;

приключвам

ако (I == 6) DataValidFromFPGA = 1'b0;

приключвамendcase

приключвам

приключвам

endmodule

 
IMHO, имате грешка, защото на този стринг - винаги @ (negedge ClkToFPGA или posedge DataValidToFPGA).Не е тригер или мандало в цифровия свят, който може да работи с две часовници.То е невъзможно да се приложи този код в FPGA.

В доказателство на моите думи, опитайте да се замени с този стринг - винаги @ (negedge ClkToFPGA) и вие ще видите, че грешки изчезна.

А какво да кажем за симулация - много езици constractions мине симулиране глоба, но те не са synthesisable.

 

Welcome to EDABoard.com

Sponsor

Back
Top