Ignore:
Timestamp:
Dec 20, 2012, 3:42:20 PM (12 years ago)
Author:
rolagamo
Message:

Ceci est la version stable avant optimisation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v0.01/PE.vhd

    r39 r41  
    2727use work.Packet_type.all;
    2828use work.MPI_RMA.all;
     29-- synthesis translate_off
    2930use std.textio.all;
     31-- synthesis translate_on
    3032use IEEE.NUMERIC_STD.ALL;
    3133
    3234
    3335entity PE is
    34         Generic (DestId : natural );
     36        Generic (DestId : natural:=0 );
    3537    Port ( Instruction : out  STD_LOGIC_VECTOR (Word-1 downto 0);
    3638           Instruction_en : out  STD_LOGIC;
     
    189191        --=======================================================
    190192        --variables pour la création du fichier de résultats
     193                -- synthesis translate_off
    191194                type char_file is file of character;
    192195        file f: text;
     
    196199                  variable L: line;
    197200                  variable fopened: std_logic:='0';
     201                 -- synthesis translate_on
    198202--======================================================
    199203        begin
    200204        --=== Partie combinatoire du process ===================================
     205                       
     206        --=== Fin de la partie combinatoire du process ==========================       
     207               
     208                   
     209           
     210        --end loop;
     211       
     212        if (clk'event and clk='1') then
    201213                        Libr.Instr_ack<=Core_pushout(0);
    202214                        Libr.InitOk<=Core_pushout(4);
     
    205217                        Libr.RamSel<=RamSel;
    206218                        sram.data_out<=PE_ram_do;
    207         --=== Fin de la partie combinatoire du process ==========================       
    208                
    209                    
    210            
    211         --end loop;
    212        
    213         if (clk'event and clk='1') then
     219                       
    214220                if reset='1' then
    215221                                        RunState<=start;
     
    237243                                timeout:=0;
    238244                                dcount<=0;
     245                        -- synthesis translate_off
    239246                        if fopened='0' then
    240247                        file_open(status,f, integer'image(destid) & "test_file0.txt", APPEND_MODE);
     
    247254                                fopened:='1';
    248255                        end if;
    249                          
     256                         -- synthesis translate_on
    250257                         when Fillmem =>
    251258                                if Ramsel='0' then
     
    284291                when InitApp =>
    285292                                --code pour Init
    286                                 dlen:=1;
     293                                dlen:=251;
    287294                                if ct=0 then
    288                                 write (l,string'("Dlen; ;INIT of Process n°; " & image(MyRank) & "; started at ; " & time'image(now)));
     295                                -- synthesis translate_off
     296                                write (l,string'("Dlen; ;INIT1 " &  integer'image(Dlen)& "; " & image(MyRank) & "; started at ; " & time'image(now)));
    289297                               
    290298                                report l.all;
    291299            writeline (f, l) ;
     300                                -- synthesis translate_on
    292301                                end if;
    293302                                pMPI_Init(ct,Libr,Clk,SRam);
     
    300309                                if ct=0 then
    301310                                        RunState<=GetRank;
    302                                         write (l,string'("Dlen; ;INIT;" & ";  ended at  ; " & time'image(now)));
     311                                        -- synthesis translate_off
     312                                        write (l,string'("Dlen; ;INIT2 " &  integer'image(Dlen) & ";" & image(MyRank) & ";  ended at  ; " & time'image(now)));
    303313                                        report l.all;
    304314                                        writeline (f, l) ; 
     315                                        -- synthesis translate_on
    305316                                end if;
    306317                               
     
    309320                when GetRank =>
    310321                if ct=0 then
    311                                
    312                                 write (l,string'("Dlen; ; Rank ; " & "; started  ; " & time'image(now)));
     322                                -- synthesis translate_off
     323                                write (l,string'("Dlen; ;Rank1 " &  integer'image(Dlen) & "; ; started  ; " & time'image(now)));
    313324                                report l.all;
    314325            writeline (f, l) ; 
     326                                -- synthesis translate_on
    315327                        end if;
    316328                        pMPI_Comm_rank(ct,Libr,sram,MPI_COMM_WORLD,MyRank);
     
    318330                        if ct=0 then
    319331                                RunState<=PutData;
    320                                 write (l,string'("Dlen; ; Rank ; " & "; ended at  ; " & time'image(now)));
     332                                -- synthesis translate_off
     333                                write (l,string'("Dlen; ;Rank2 " &  integer'image(Dlen) & ";" & image(MyRank) & "; ended at  ; " & time'image(now)));
    321334                                report l.all;
    322             writeline (f, l) ; 
     335            writeline (f, l) ;
     336                                -- synthesis translate_on
    323337                        end if;
    324338                       
     
    331345                                        --dlen:=251; ---
    332346                                        if ct=0 then
    333                                         write (l,string'("Dlen;" & integer'image(dlen) & ";Put of Pr n°; " & image(MyRank) & "; started at ; " & time'image(now)));
     347                                        -- synthesis translate_off
     348                                        write (l,string'("Dlen;" & integer'image(dlen) & ";PUT1 " & integer'image(dlen) & ";" & image(MyRank) & "; started at ; " & time'image(now)));
    334349                                        report l.all;
    335350                                        writeline (f, l) ;
     351                                        -- synthesis translate_on
    336352                                        end if;
    337353                                        if unsigned(MyRank) = 0 then
     354                                                Destrank:=2;
     355                                               
     356                                        elsif unsigned(MyRank) = 1 then
     357                                                Destrank:=0;
     358                                        elsif unsigned(MyRank) = 2 then
    338359                                                Destrank:=1;
     360                                        elsif unsigned(MyRank) = 3 then
     361                                                Destrank:=2;
    339362                                        else
    340363                                                DestRank:=0;
     
    343366                                        SrcAdr:=std_logic_vector(to_unsigned(DATAPTR,ADRLEN));
    344367                                        DestAdr:=X"2000";
    345                                        
    346368                                        pMPI_put(ct,Libr,Clk,Sram,SrcAdr,Dlen,MPI_int,destrank,DestAdr,Dlen,Mpi_int,Default_win);
     369                                       
    347370                                        adresse:=to_integer(unsigned(sram.addr_wr));
    348371                                        adresse_rd:=to_integer(unsigned(sram.addr_rd));
     
    353376                                        if ct=0 then
    354377                                                RunState<=GetData;
     378                                        -- synthesis translate_off
    355379                                        report "Put of Process n°; " & image(MyRank) & "; ended at ; " & time'image(now);
    356                                         write (l,string'("Dlen;" & integer'image(dlen) & ";Put of Pr n°; " & image(MyRank) & "; ended at time ; " & time'image(now)));
     380                                        write (l,string'("Dlen;" & integer'image(dlen) & ";PUT2 " & integer'image(dlen) & ";" & image(MyRank) & "; ended at time ; " & time'image(now)));
    357381                                        report l.all;
    358                                         writeline (f, l) ;                                                                                                                                     
     382                                        writeline (f, l) ;
     383                                        -- synthesis translate_on
    359384                                        end if;
    360385                                       
     
    363388                                        --dlen:=251; ---
    364389                                        if ct=0 then
    365                                         write (l,string'("Dlen;" & integer'image(dlen) & ";GET of Process n°; " & image(MyRank) & "; started at ; " & time'image(now)));
     390                                        -- synthesis translate_off
     391                                        write (l,string'("Dlen;" & integer'image(dlen) & ";GET1; " & image(MyRank) & "; started at ; " & time'image(now)));
    366392                                        report l.all;
    367393                                        writeline (f, l) ;
     394                                        -- synthesis translate_on
    368395                                        end if;
    369396                                       
    370397                                        SrcAdr:=X"0120";
    371398                                        DestAdr:=X"4000";
    372                                        
    373                                         pMPI_GET(ct,Libr,Clk,Sram,SrcAdr,Dlen,MPI_int,destrank,DestAdr,Dlen,Mpi_int,Default_win);
     399                                        if unsigned(MyRank) /= 2 then
     400                                                pMPI_GET(ct,Libr,Clk,Sram,SrcAdr,Dlen,MPI_int,destrank,DestAdr,Dlen,Mpi_int,Default_win);
     401                                        else
     402                                                RunState<=wincompleted;
     403                                        end if;
    374404                                        adresse:=to_integer(unsigned(sram.addr_wr));
    375405                                        adresse_rd:=to_integer(unsigned(sram.addr_rd));
     
    380410                                        if ct=0 then
    381411                                                RunState<=wincompleted;
     412                                                -- synthesis translate_off
    382413                                                assert ct/=0 report "GET_END " & integer'image(destrank)
    383414                                                                severity Warning ;
    384                                                 write (l,string'("Dlen ;" & integer'image(dlen) & ";GET of Proc n°; " & image(MyRank) & "; ended at ; " & time'image(now)));
     415                                                write (l,string'("Dlen ;" & integer'image(dlen) & ";GET2 " & integer'image(dlen) & ";" & image(MyRank) & "; ended at ; " & time'image(now)));
    385416                                        report l.all;
    386417                                       
    387                                         writeline (f, l) ; 
     418                                        writeline (f, l) ;
     419                                                -- synthesis translate_on
    388420                                        end if;
    389421                               
    390422                                when WinCompleted =>
    391423                                if ct=0 then
    392                                                 write (l,string'("Dlen ;" & integer'image(dlen) & ";Wait of Proc n°; " & image(MyRank) & "; started at ; " & time'image(now)));
     424                                                -- synthesis translate_off
     425                                                write (l,string'("Dlen ;" & integer'image(dlen) & ";WAIT1 " & integer'image(dlen) & ";" & image(MyRank) & "; started at ; " & time'image(now)));
    393426                                                report l.all;
    394427                                                writeline (f, l) ;
     428                                                -- synthesis translate_on
    395429                                        end if;
    396430                                         pMPI_Win_wait(ct,Libr,sram,MyWin );
     
    399433                                        if ct=0 then
    400434                                                RunState<=finalize;     
    401                                                 write (l,string'("Dlen ;" & integer'image(dlen) & ";Wait of Proc n°; " & image(MyRank) & "; ended at ; " & time'image(now)));
     435                                                -- synthesis translate_off
     436                                                write (l,string'("Dlen ;" & integer'image(dlen) & ";WAIT2 " & integer'image(dlen) & ";" & image(MyRank) & "; ended at ; " & time'image(now)));
    402437                                                report l.all;
    403438                                                writeline (f, l) ;
     439                                                -- synthesis translate_on
    404440                                               
    405441                                        end if;   
     
    408444                        when finalize =>
    409445                                        if ct=0 then
    410                                                 write (l,string'("Dlen ;" & integer'image(dlen) & ";Finalize of Proc n°; " & image(MyRank) & "; started at ; " & time'image(now)));
     446                                                -- synthesis translate_off
     447                                                write (l,string'("Dlen ;" & integer'image(dlen) & ";FINALIZE1 " & integer'image(dlen) & ";" & image(MyRank) & "; started at ; " & time'image(now)));
    411448                                                report l.all;
    412449                                                writeline (f, l) ;
     450                                                -- synthesis translate_on
    413451                                        end if;
    414452                                         
    415453                                        if ct=0 then
    416454                                                RunState<=start;       
    417                                                 write (l,string'("Dlen ;" & integer'image(dlen) & ";Finalize of Proc n°; " & image(MyRank) & "; ended at ; " & time'image(now)));
     455                                                -- synthesis translate_off
     456                                                write (l,string'("Dlen ;" & integer'image(dlen) & ";FINALIZE2 " & integer'image(dlen) & ";" & image(MyRank) & "; ended at ; " & time'image(now)));
    418457                                                report l.all;
    419458                                                writeline (f, l) ;
    420459                                                file_close(f); 
     460                                                -- synthesis translate_on
    421461                                        end if;   
    422462               
Note: See TracChangeset for help on using the changeset viewer.