erro síntese>

S

stay_in_chaos

Guest
Olá cada corpo,
quando eu era da síntese de um projeto com tool.it Xilinx mostrou algum erro se eu estou usando uma matriz de duas dimensões, penso que a ferramenta não é capaz de compreender a forma como o projeto está sendo escrito por isso é que é a sementeira FATAL ERROR
neste linhas
O relatório de erro é FATAL ERROR (que mostra nada mais)
if (count1 == 2'b00) começam
Loja [add] [63:0] <= lbi_liga_data;
end else if (count1 == 2'b01) começam
Loja [add] [127:64] <= lbi_liga_data;
end else if (count1 == 2'b10) começam
Loja [add] [191:128] <= lbi_liga_data;
end else if (count1 == 2'b11) começam
Loja [add] [255:192] <= lbi_liga_data;
Aqui estou eu armazenar dados na memória de tamanho ([255:0] loja [1023:0]
aqui como os dados estão em ruptura de modo que não é possível usar reg em vez de memória.

você pode sugerir alguma lógica para que o erro for corrigido durante a síntese.

Obrigado e cumprimentos
stay_in_chaos
Última edição por stay_in_chaos em 10 de fevereiro de 2006 7:24, editado 1 vez no total

 
Qual é a mensagem de erro?

Por favor, mostre um módulo completo, e não apenas algumas linhas extraídas do meio.

Xilinx ISE (através da versão 8.1i) não suporta-dimensional arrays dois.

reg [255:0] loja [1023:0] é um array bidimensional.

XST pode-se inferir Block RAM, mas só se você escrever palavras cheias de largura.Tente utilizar quatro de 64 bits matrizes larga em vez de uma matriz de bits de largura 256.

 
ver basicamente não há necessidade de um módulo inteiro
eo módulo também é muito grande por isso não posso colá-lo aqui

quando estou comenting estas linhas
Loja [add] [63:0] <= lbi_liga_data;
Loja [add] [127:64] <= lbi_liga_data;
Loja [add] [191:128] <= lbi_liga_data;
Loja [add] [255:192] <= lbi_liga_data

o código é sintetizada does't ele mostra um erro
ou então quando estou descomentar as linhas que apresentaram erro fatal

Então, basicamente, o erro é por causa dessa linha só há outra maneira

plz help me

 
Porque você não pode usar 4 memórias de 64X1024 para a loja?
Pense então usar hardware VHDL apenas para descrevê-lo!

 
Escrita bytes / bits em um array de 2 dimensões é pouco apoiada em qualquer ferramenta.Como portas nand sugeriu ir em frente e descrever 4 / 2 memórias, porém você quer e em seguida, escreva para a matriz.U ver, não há hardware que pode permitir que você escrever em partes de um local de memória.Você pode usar byte seleciona para a selecção dos bytes bem, mas em última análise, se implementada com múltiplas memórias e bytes de memória seleciona atua como selecionar.Espero que você começa o meu ponto

 
stay_in_chaos escreveu:

quando estou comenting estas linhas

Loja [add] [63:0] <= lbi_liga_data;

Loja [add] [127:64] <= lbi_liga_data;

Loja [add] [191:128] <= lbi_liga_data;

Loja [add] [255:192] <= lbi_liga_datao código é sintetizada does't ele mostra um erro

 
echo47 escreveu:

Qual é a mensagem de erro?Por favor, mostre um módulo completo, e não apenas algumas linhas extraídas do meio.Xilinx ISE (através da versão 8.1i) não suporta matrizes bidimensionais.reg [255:0] loja [1023:0] é uma matriz unidimensional.XST pode-se inferir Block RAM, mas só se você escrever palavras de largura total.
Tente utilizar quatro de 64 bits matrizes larga em vez de uma matriz de 256 bits de largura.
 
input [2:0] [abc 255:0];

Eu não acho que Verilog permite matrizes em I / O declarações.

 

Welcome to EDABoard.com

Sponsor

Back
Top