Como fazer Modelsim despejo, os dados imediatamente?

M

Machael

Guest
Oi, pessoal!
Estou usando Modelsim para executar uma simulação de timing SDF.No testbench, faço vários sinais importantes para a saída de valores em alguns arquivos de texto usando $ FDISPLAY função tarefa do sistema.Então eu posso comparar o arquivo de saída com a saída de um "ideal" de arquivo feito por simulação em Matlab para avaliar se o projeto está correto.Porque a simulação é bastante lento, quero em primeiro lugar executar a simulação de vários microssegundos e quebrá-lo e comparar os resultados em primeiro lugar, se a saída tornou-se errado, eu não preciso continuar e vai parar para encontrar os erros no meu projeto.Se a saída está correta, eu posso retomar a simulação durante mais tempo.

Agora eu me encontro com um problema: Modelsim não devolver o resultado do sinal imediatamente, caso contrário, manter os dados na memória.Até que os dados são "suficientes" ou a simulação é interrompida, o simulador não vai despejá-lo nos arquivos de texto.Então eu descobri que não pode visualizar a simulação rusult como eu desejo, ela realmente me incomoda.Alguém pode me dizer como descarregar "os dados para FDISPLAY" imediatamente ou sempre que eu quiser?Talvez seja necessário um comando ou algum código especial no testbench?Ficarei muito grato!

 
Eksperci z firmy antywirusowej ESET poddali analizie zagrożenie, które włamuje się do popularnych routerów i zmienia ich ustawienia. W konsekwencji próba połączenia użytkownika routera z serwisem Facebook lub wyszukiwarką Google może skończyć się zainfekowaniem maszyny zagrożeniem Win32/Sality, które zamieni komputer w zombie.

Read more...
 
Eu não vejo esse comando em Verilog ModelSim's commad manual de referência, mas funciona!

De acordo com o padrão IEEE 1364-2001:

17.2.6 saída Flushing
$ fflush (MCD);
$ fflush (fd);
$ fflush ();
Grava qualquer saída em buffer para o arquivo (s) especificado pela MCD, o arquivo especificado por fd $ fflush ou se é invocado sem argumentos, escreve qualquer saída tamponado a todos os arquivos abertos.

 
echo47, Muito obrigado por seu método de resolver grande!

Na verdade, tenho pensado um outro método para resolver este problema ontem.É que toda vez que quando os dados foram escreveu para o arquivo $ FDISPLAY, o arquivo está perto de US $ fclose, e quando a próxima vez que ele deve ser escrito de novo, o arquivo é aberto por $ fopen com acréscimo de opção, por exemplo,

$ file = fopen ( "test.txt", "a");

Então, o arquivo será Wroten cada vez e fechada, quando o arquivo for fechado, os dados são liberados para ele.
Este método tem outro problema: para evitar o arquivo de tornar-se cada vez maiores com a simulação repetidas.Deve ser aberto por um "w" opção no processo inicial de simulação e fechado imediatamente, assim que ele será limpo.

Claro, o meu método é mais trivial e seu método é mais eficaz.Então eu quero dizer obrigado de novo!

Atenciosamente!

 

Welcome to EDABoard.com

Sponsor

Back
Top