A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Pontifical Catholic University of Rio Grande do Sul Porto Alegre, Brazil.

Apresentações semelhantes


Apresentação em tema: "Pontifical Catholic University of Rio Grande do Sul Porto Alegre, Brazil."— Transcrição da apresentação:

1 Pontifical Catholic University of Rio Grande do Sul Porto Alegre, Brazil

2 Tutorial HeMPS 2  Carregar o módulo HeMPS 5.2 ◦ # module load hemps/5.2  Esse comando irá carregar os seguintess módulos: ◦ SystemC 2.2 ◦ Xilinx 13.2 ◦ Modelsim 10.3a ◦ MIPS Cross Compiler v1 ◦ HeMPS 5.2

3 Tutorial HeMPS 3  function hempslocaldist){  source /soft64/Modules/3.2.8/init/bash  source /soft64/source_gaph   export JAVA_HOME=/usr/java7/bin  export HEMPS_PATH=/home/gcastilhos/hemps5.0/tag/5.0  export PATH=$PATH:$HEMPS_PATH/bin  module load ise mips systemc  module load modelsim  }

4 Tutorial HeMPS 4  Deve-se criar um arquivo.hmp que irá conter as configurações de projeto.

5 Tutorial HeMPS 5 1. [project name]#nome do projeto que será criado 2. mpeg_6x6_3x3_1 3. [tasks per pe]# número de tarefas simultâneas executadas pelo processadores 4. 2 5. [processor description] # o nível de descrição do projeto (sc – SystemC; scmod – SystemC com Modelsim) 6. sc 7. [noc buffer size]# tamanho do buffer do roteador 8. 8 9. [noc routing algorthm]# tipo de algoritmo usado no roteamento 10. west 11. [dimensions]# dimensão da NoC (X e Y) 12. 6 13. 6 14. [cluster size]# dimensão dos Clusters (X e Y) 15. 3 16. 3 17. [masters location]# localização dos mestres dentro dos Clusters (atualmente somente LB) 18. LB 19. [global master]# define qual Cluster terá o Mestre Global 20. 0 21. [application]# define as aplicações que serão inseridas no MPSoC 22. mpeg 23. [start time]# define em que tempo a aplicação será inserida 24. 1 ms Ex.:

6 Tutorial HeMPS 6  As aplicações são descritas em C.  A comunicação entre tarefas de uma aplicação é feita através das primitivas Send() e Receive().  Cada tarefa da aplicação deverá ser um arquivo.C separado  Todas as tarefas devem estar em uma pasta com o nome da aplicação.

7 Tutorial HeMPS 7 1. #include # Biblioteca que contém as primitivas da HeMPS. 2. #include 3. 4. Message msg;# Cria uma estrutura para as mensagens. 5. 6. int main(){ 7. int i, j,t; 8. Echo("task A started.");# A função Echo() é usado como debug, pois... 9. Echo(itoa(GetTick()));# grava em um arquivo o seu conteudo. 10. 11. for(i=0;i<10;i++){ 12. msg.length = 30;# Seta o tamanho da mensagem. 13. for(j=0;j<30;j++) msg.msg[j]=i;# Gera conteúdo da mensagem. 14. Send(&msg,taskB);# Envia a mensagem criada para a Tarefa B. 15. } 16. Echo(itoa(GetTick()));# A função GetTick() retorna o tempo em ciclos... 17. Echo("task A finished.");# de clock do sistema. 18. exit();# Função exit() termina a tarefa. 19. } Ex.: Tarefa A mandando dados para a Tarefa B

8 Tutorial HeMPS 8 1. #include 2. #include 3. 4. Message msg; 5. 6. int main(){ 7. int i, j,t; 8. Echo("task B started."); 9. Echo(itoa(GetTick())); 10. 11. for(i=0;i<10;i++){ 12. Receive(&msg,taskA);# Recebe as mensagens enviadas pela Tarefa A 13. } 14. Echo(itoa(GetTick())); 15. Echo("task B finished."); 16. exit(); 17. } Ex.: Tarefa B recebendo dados da Tarefa A

9 Tutorial HeMPS 9  Criação do MPSoC ◦ # perl $HEMPS_PATH/scripts/hemps.pl exemplo.hmp $path_aplicação -- Cria o MPSoC e compila o Software  Execução do MPSoC ◦ # cd exemplo -- Entrar na pasta do projeto criado ◦ # make all -- Compila o Hardware ◦ #./HeMPS -c 50 -- Executa o MPSoC por um tempo de 50 ms  Caso a execução termine com sucesso (todas as aplicações terminem), aparecerá a mensagem “END OF ALL APPLICATIONS!!”

10 Tutorial HeMPS 10  É possível visualizar o mapeamento das tarefas, bem como o tempo que elas foram alocadas e quando terminaram através de duas maneiras: ◦ um script chamado hemps-read.pl (ele já se encontra no path). Ex.: # hemps-read.pl exemplo.hmp

11 Tutorial HeMPS 11  O outro método para Debug, é uma ferramenta gráfica no qual se é capaz de visualizar o mapeamento das tarefas e as mensagens trocadas entre processadores.  Um programa em java, localizado na pasta “bin”

12 Tutorial HeMPS 12 ◦ Criar uma aplicação que ordene vetores e que possua 3 tarefas:  Vetor 1: {33;1;21;12;11;18;2} Vetor 2: {55;43;42;67;90;77;40} A CB 1. Tarefa A envia um vetor para cada uma das outras tarefas A CB 2. As Tarefas B e C ordenam os vetores A CB 3. As Tarefas B e C enviam os vetores ordenados para a Tarefa A A CB 4. A Tarefa A imprime (Echo) o vetor ordenado

13 Tutorial HeMPS 13 FIM


Carregar ppt "Pontifical Catholic University of Rio Grande do Sul Porto Alegre, Brazil."

Apresentações semelhantes


Anúncios Google