helpen!

A

amr090

Guest
Proberen om deze code te werken ... het draait perfect op simvision .. maar als ik de code op Xilinx ... i get problemen ....

Code:module datainout (DataToFPGA, DataFromFPGA, ClrFPGAMem, DataValidToFPGA, DataValidFromFPGA, ClkToFPGA);

input [7:0] DataToFPGA;

output [7:0] DataFromFPGA;

input ClrFPGAMem;

input DataValidToFPGA;

uitgang DataValidFromFPGA;

input ClkToFPGA;reg [31:0] temp;reg [7:0] DataFromFPGA;

reg DataValidFromFPGA;

reg [2:0] staat;parameter Sinit = 3'b000;

parameter sRead = 3'b001;

parameter Swrite = 3'b010;

parameter Spause = 3'b100;integer i;

integer j;altijd @ (negedge ClkToFPGA of posedge DataValidToFPGA)

beginnen

if (ClrFPGAMem)

beginnen

state = Sinit;

DataValidFromFPGA = 1'b0;

DataFromFPGA = 8'bzzzzzzzz;

eindigen

anders

beginnen

geval is (staat)

Sinit: beginnen

if (DataValidToFPGA)

beginnen

i = 1;

state = sRead;

eindigen

anders

state = Sinit;

eindigen

SRead: beginnentemp [8 * (i-1)] = DataToFPGA [0];

temp [8 * (i-1)] = DataToFPGA [1];

temp [8 * (i-1)] = DataToFPGA [2];

temp [8 * (i-1)] = DataToFPGA [3];

temp [8 * (i-1)] = DataToFPGA [4];

temp [8 * (i-1)] = DataToFPGA [5];

temp [8 * (i-1)] = DataToFPGA [6];

temp [8 * (i-1)] = DataToFPGA [7];i = i 1;

if (! DataValidToFPGA)

state = Spause;

eindigen

Spause: beginnen

i = 1;

DataValidFromFPGA = 1'b1;

state = Swrite;

eindigen

Swrite: beginnen

if (DataValidFromFPGA)

beginnenDataFromFPGA [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;

eindigen

if (i == 6) DataValidFromFPGA = 1'b0;

eindigenENDCASE

eindigen

eindigen

endmodule

 
IMHO, u heeft fouten als gevolg van deze string - altijd @ (negedge ClkToFPGA of posedge DataValidToFPGA).Er is geen flip-flop of vergrendeling in de digitale wereld die kan werken met twee klokken.Het is onmogelijk om de uitvoering van deze code in FPGA.

In het bewijs van mijn woorden proberen om dit te vervangen string met - altijd @ (negedge ClkToFPGA) en je zult zien dat er fouten verdwenen.

En wat te denken van de simulatie - een stuk van de taal constractions passeren de simulatie prima, maar ze zijn niet synthesisable.

 

Welcome to EDABoard.com

Sponsor

Back
Top