Index: /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/HCL_Arch_conf.vhd
===================================================================
--- /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/HCL_Arch_conf.vhd	(revision 76)
+++ /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/HCL_Arch_conf.vhd	(revision 76)
@@ -0,0 +1,30 @@
+--	Package File Template
+--
+--	Purpose: This package defines the size of NoC ports and the number
+-- of hardware tasks to create with the Mpi HCL environment.
+-- The NoC_size parameter may vary from 2 to 16
+-- The STATIC_HT parameter must be less or equal to the NoC_Size parameter
+-- The DYN_ALLOWED authorize the binding of HT template environment to all the Noc Ports
+
+library IEEE;
+use IEEE.STD_LOGIC_1164.all;
+
+package Hcl_Arch_conf is
+
+  
+  
+-- Declare constants
+
+  constant NOC_SIZE		: integer :=4; --(2 to 16)indicates the number of NoC port to instantiate
+  constant STATIC_HT		: integer := 2;--(2 to NOC_SIZE)gives the the number of HT to Hardwire
+  constant DYN_ALLOWED	: std_logic:='1'; --allow the creation of dynamic hardware tasks
+-- Declare functions and procedure
+
+end Hcl_Arch_conf;
+
+
+package body Hcl_Arch_conf is
+
+
+ 
+end Hcl_Arch_conf;
Index: /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/HT_4.vhd
===================================================================
--- /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/HT_4.vhd	(revision 75)
+++ /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/HT_4.vhd	(revision 76)
@@ -144,5 +144,5 @@
 				--Dcount<=0;
 				if bfill=0 then -- si le nombre de bloc de mémoire remplis est vide
-						RunState<=Fillmem;
+						RunState<=InitApp;
 				 end if;
 				 --Ram_busy<='0';
@@ -185,5 +185,5 @@
 						 
 						 if bfill=4 then
-						  RunState<=InitApp;
+						  RunState<=WinCreate;
 						 else
 							RunState<=nextfill;
@@ -212,8 +212,8 @@
 		when InitApp =>
 				--code pour Init 
-				dlen:=15;
+				dlen:=1;
 				if ct=0 then
 				-- synthesis translate_off 
-				write (l,string'("Dlen; ;INIT1 " &  integer'image(Dlen)& "; " & image(MyRank) & "; started at ; " & real'image(rt(now))));
+				write (l,string'("Dlen;"& integer'image(dlen) & " ;INIT1 " &  integer'image(Dlen)& "; " & image(MyRank) & "; started at ; " & real'image(rt(now))));
 				
 				report l.all;
@@ -251,7 +251,7 @@
 			
 			if ct=0 then
-				RunState<=WinCreate;
+				RunState<=FillMem;
 				-- synthesis translate_off
-				write (l,string'("Dlen; ;Rank2 " &  integer'image(Dlen) & ";" & image(MyRank) & "; ended at  ; " & real'image(rt(now))));
+				write (l,string'("Dlen;" & integer'image(dlen) & ";Rank2 " &  integer'image(Dlen) & ";" & image(MyRank) & "; ended at  ; " & real'image(rt(now))));
 				report l.all;
             writeline (f, l) ; 
@@ -288,5 +288,5 @@
 			if ct=0 then
 				-- synthesis translate_off 
-				write (l,string'("Dlen; ;WPost1 " &  integer'image(Dlen) & "; ; started  ; " & real'image(rt(now))));
+				write (l,string'("Dlen;"& integer'image(dlen) & ";WPost1 " &  integer'image(Dlen) & "; ; started  ; " & real'image(rt(now))));
 				report l.all;
             writeline (f, l) ;  
@@ -303,5 +303,5 @@
 				  end if;
 				-- synthesis translate_off
-				write (l,string'("Dlen; ;WPost2 " &  integer'image(Dlen) & ";" & image(MyRank) & "; ended at  ; " & real'image(rt(now))));
+				write (l,string'("Dlen;"& integer'image(dlen) & ";WPost2 " &  integer'image(Dlen) & ";" & image(MyRank) & "; ended at  ; " & real'image(rt(now))));
 				report l.all;
             writeline (f, l) ; 
@@ -312,5 +312,5 @@
 			if ct=0 then
 				-- synthesis translate_off 
-				write (l,string'("Dlen; ;WStart1 " &  integer'image(Dlen) & "; ; started  ; " & real'image(rt(now))));
+				write (l,string'("Dlen;" & integer'image(dlen) & ";WStart1 " &  integer'image(Dlen) & "; ; started  ; " & real'image(rt(now))));
 				report l.all;
             writeline (f, l) ;  
@@ -326,5 +326,5 @@
 				RunState<=PutData;
 				-- synthesis translate_off
-				write (l,string'("Dlen; ;WStart2 " &  integer'image(Dlen) & ";" & image(MyRank) & "; ended at  ; " & real'image(rt(now))));
+				write (l,string'("Dlen;" & integer'image(dlen) & ";WStart2 " &  integer'image(Dlen) & ";" & image(MyRank) & "; ended at  ; " & real'image(rt(now))));
 				report l.all;
             writeline (f, l) ; 
Index: /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/HT_5.vhd
===================================================================
--- /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/HT_5.vhd	(revision 76)
+++ /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/HT_5.vhd	(revision 76)
@@ -0,0 +1,493 @@
+----------------------------------------------------------------------------------
+-- Company: 
+-- Engineer: 
+-- 
+-- Create Date:    12:04:21 04/22/2013 
+-- Design Name: 
+-- Module Name:    HT_process - Behavioral 
+-- Project Name: 
+-- Target Devices: 
+-- Tool versions: 
+-- Description: 
+--
+-- Dependencies: 
+--
+-- Revision: 
+-- Revision 0.01 - File Created
+-- Additional Comments: 
+--
+----------------------------------------------------------------------------------
+library IEEE;
+use IEEE.STD_LOGIC_1164.ALL;
+USE ieee.numeric_std.ALL;
+library NocLib ;
+use std.textio.all;
+use NocLib.CoreTypes.all;
+use work.Packet_type.all;
+use work.MPI_RMA.all;
+-- Uncomment the following library declaration if using
+-- arithmetic functions with Signed or Unsigned values
+--use IEEE.NUMERIC_STD.ALL;
+
+
+
+architecture A_Count of HT_process is
+
+  type typ_mae is (start,Fillmem,NextFill,InitApp,GetRank,WInCreate,WinPost,WinStart,
+  putdata,getdata,WinWait,WinCompleted,MpiSpawn,finalize,st_timeout);
+	signal sram : typ_dpram;
+	signal MyGroup:mpi_group;
+	signal MyWin : mpi_win;
+	signal MyRank :std_logic_vector(3 downto 0);
+	signal intercomm,array_of_errcodes : natural;
+	signal ct_state:natural:=0;
+signal Libr : Core_io;  --regroupe tous les signaux IO de la bibliothèque
+signal RunState : typ_mae;
+component count_32 is
+port (clk,reset,upDn,load,start:in std_logic;
+loadval :in std_logic_vector(31 downto 0);
+outval : out std_logic_vector(31 downto 0));
+end component count_32;
+signal rescount,updn,load,start :std_logic:='0';
+signal loadval,outval :std_logic_vector(31 downto 0):=(others=>'0');
+
+begin
+
+--MAE du PE
+--=======================================================================
+-- Interf<=Libr;
+
+
+ pPutGet:process(clk,reset,en)
+ 
+	constant DATAPTR : natural :=256;
+	variable nb_rma:natural range 0 to 15:=0;
+	variable bfill,destrank,pid,mport : natural range 0 to 15;
+	variable fsrc,ret : natural range 0 to 15:=0;
+	variable timeout,ct,dlen,dcount : natural range 0 to 255;
+	variable adrToset,SrcAdr,DestAdr : std_logic_vector(ADRLEN-1 downto 0);
+	variable mywin : Mpi_win;
+	variable command , argv , maxprocs , info , root : natural:=0; --variable pour le spawn 
+	variable comm : natural :=0;  
+	variable Spawn_on: std_logic:='0';
+	variable  adresse,adresse_rd :natural range 0 to 65536;
+	variable status_reg,config_reg :std_logic_vector(Word-1 downto 0):=(others=>'0');
+
+	--=======================================================
+	--variables pour la création du fichier de résultats
+		-- synthesis translate_off 
+		type char_file is file of character;
+        file f: text;
+        variable status :file_open_status ;
+        variable char_count: integer range 0 to 65536 := 0;
+		  variable str: string (1 to 79) ;
+		  variable L: line; 
+		  variable fopened: std_logic:='0';
+		  
+		  constant simres : time :=1 ps; --simulation resolution
+		  constant realres : real :=1.0e-3; --ramener le temps en ns
+		  -- returns real value of time parameter using pure VHDL
+	     function rt(t : time) return real is
+	       begin
+		        return real(t/simres) * realres;
+	     end;
+		 -- synthesis translate_on
+--======================================================
+	begin
+	--=== Partie combinatoire du process ===================================
+			
+	--=== Fin de la partie combinatoire du process ==========================	
+		
+		    
+           
+        --end loop;
+        
+	if (clk'event and clk='1') and en='1' then 
+			
+			
+		if reset='1' then
+					RunState<=start;
+					
+		else
+			--==========================================================
+			--affectation des entrées sorties mémoires
+			sram.i.data_out<=mem_I.data_out;
+			mem_o.addr_wr<=sram.O.addr_wr;
+			mem_o.addr_rd<=sram.O.addr_rd ; 
+			mem_o.we<=sram.O.we;
+			mem_o.ena<=sram.O.ena;
+			mem_o.enb<=sram.O.enb;
+			mem_o.data_in<=sram.O.data_in;
+			--affectation des entrées sorties MPI_HCL
+			Interf_o.Instr_EN<=Libr.O.instr_en;
+			Interf_o.Membusy<=Libr.O.MemBusy;
+			Interf_o.Instruction<=Libr.O.Instruction;
+			Libr.i.Instr_ack<=Interf_i.Instr_ack;
+			Libr.i.InitOk<=Interf_i.InitOk;
+			Libr.i.Hold_Req<=Interf_i.Hold_req;
+			Libr.I.Spawned<=Interf_i.Spawned;
+			--Libr.i.Hold_Ack<=Interf_i.Hold_Ack;
+			Libr.i.RamSel<=Interf_i.RamSel;
+			--ct_state<=ct; --pour débogage
+			--============================================================
+			
+			case  RunState is
+			when start =>
+				--Dcount<=0;
+				if bfill=0 then -- si le nombre de bloc de mémoire remplis est vide
+						RunState<=InitApp;
+				 end if;
+				 --Ram_busy<='0';
+				 Libr.O.MemBusy<='0';
+				 Libr.O.Instr_En<='0';
+				
+				adresse:=10;--DATAPTR;
+				
+				adresse_rd:=0;
+				timeout:=0;
+				--dcount<=0;
+				sram.O.we<='0';
+					sram.O.ena<='0';
+					sram.O.enb<='0';
+			-- synthesis translate_off 
+			if fopened='0' then 
+			file_open(status,f, integer'image(Task_Id) & "test_file0.txt", APPEND_MODE);
+        --while not endfile(c_file_handle) loop
+			--end if;
+		
+				--write (l,string'("Ce fichier contient des resultats de la simulation ; ;" & " started at time ; " & time'image(now)));
+				--report l.all;
+           -- writeline (f, l) ;
+				fopened:='1';
+			end if;
+			 -- synthesis translate_on
+			 when ReadData1 =>
+				readmem(ct,libr,sram,x"0010",V);
+				if ct=0 then 
+				  reset_count<=v(0);
+				  UpDn<=v(1);
+				  Load<=v(2);
+					RunState<=ReadData2
+				end if;
+			when readData2 =>
+					readmem(ct,libr,sram,x"0011",loadval);
+					if ct=0  then
+						  RunState<=WinCreate;
+						 
+						end if;
+					
+		when InitApp =>
+				--code pour Init 
+				dlen:=1;
+				if ct=0 then
+				-- synthesis translate_off 
+				write (l,string'("Dlen;"& integer'image(dlen) & " ;INIT1 " &  integer'image(Dlen)& "; " & image(MyRank) & "; started at ; " & real'image(rt(now))));
+				
+				report l.all;
+            writeline (f, l) ;
+				-- synthesis translate_on
+				end if;
+				pMPI_Init(ct,Libr,Clk,SRam);
+				
+				adresse:=to_integer(unsigned(sram.O.addr_wr));
+				adresse_rd:=to_integer(unsigned(sram.O.addr_rd));
+				
+				--if Libr.InitOk='1' then 
+				if ct=0 then 
+					RunState<=GetRank;
+					-- synthesis translate_off 
+					write (l,string'("Dlen;" & integer'image(Dlen) & ";INIT2 " &  integer'image(Dlen) & ";" & image(MyRank) & ";  ended at  ; " & real'image(rt(now))));
+					report l.all;
+					writeline (f, l) ;  
+					-- synthesis translate_on
+				end if;
+				
+		
+		
+		when GetRank =>
+		if ct=0 then
+				-- synthesis translate_off 
+				write (l,string'("Dlen;" & integer'image(Dlen)& ";Rank1 " &  integer'image(Dlen) & "; ; started  ; " & real'image(rt(now))));
+				report l.all;
+            writeline (f, l) ;  
+				-- synthesis translate_on
+			end if;
+			pMPI_Comm_rank(ct,Libr,sram,MPI_COMM_WORLD,MyRank);
+			adresse_rd:=to_integer(unsigned(sram.O.addr_rd));
+			
+			
+			if ct=0 then
+				RunState<=FillMem;
+				-- synthesis translate_off
+				write (l,string'("Dlen;" & integer'image(dlen) & ";Rank2 " &  integer'image(Dlen) & ";" & image(MyRank) & "; ended at  ; " & real'image(rt(now))));
+				report l.all;
+            writeline (f, l) ; 
+				-- synthesis translate_on
+			end if;
+			
+		
+		when Wincreate => --par défaut la fenêtre 0 est utilisée !
+		  case MyRank is
+		    when x"0"=>
+		      Mygroup.grp<=x"0002";-- rank 1
+		      MyGroup.nb<=2;
+		      destRank:=1;
+		      DestAdr:=X"043F";
+		      nb_rma:=1;
+		    when x"1" =>
+		      		      Mygroup.grp<=x"0000";-- rank 0
+		      		      destRank:=0;
+		      		      DestAdr:=X"043F";
+		    when x"2" =>
+		      		      Mygroup.grp<=x"0000";-- rank 
+		      		      destRank:=0;
+		      		      DestAdr:=X"044F";
+		    when x"3" =>
+		      		      Mygroup.grp<=x"0000";-- rank 
+		      		      destRank:=0;
+		      		      DestAdr:=X"045F";
+		    when others =>   --cas des processus spawn
+		      		      Mygroup.grp<=x"0000";-- rank 0
+		      		      destRank:=0;
+		 end case;
+          		 RunState<=WinPost;
+		when WinPost =>
+			if ct=0 then
+				-- synthesis translate_off 
+				write (l,string'("Dlen;"& integer'image(dlen) & ";WPost1 " &  integer'image(Dlen) & "; ; started  ; " & real'image(rt(now))));
+				report l.all;
+            writeline (f, l) ;  
+				-- synthesis translate_on
+			end if;
+			
+				pMPI_Win_Post(ct,Libr,sram,MyGroup,0,MyWin);
+			
+			if ct=0 then
+			  if spawn_on='1' then
+				RunState<=WinWait;
+				else
+				  RunState<=WinStart;
+				  end if;
+				-- synthesis translate_off
+				write (l,string'("Dlen;"& integer'image(dlen) & ";WPost2 " &  integer'image(Dlen) & ";" & image(MyRank) & "; ended at  ; " & real'image(rt(now))));
+				report l.all;
+            writeline (f, l) ; 
+				-- synthesis translate_on
+			end if;
+			
+		when WinStart =>
+			if ct=0 then
+				-- synthesis translate_off 
+				write (l,string'("Dlen;" & integer'image(dlen) & ";WStart1 " &  integer'image(Dlen) & "; ; started  ; " & real'image(rt(now))));
+				report l.all;
+            writeline (f, l) ;  
+				-- synthesis translate_on
+			end if;
+				pMPI_Win_start(ct,Libr,sram,MyGroup,0,MyWin);
+					adresse:=to_integer(unsigned(sram.O.addr_wr));
+					adresse_rd:=to_integer(unsigned(sram.O.addr_rd));
+					
+					dcount:=ct;
+			
+			if ct=0 then
+				RunState<=PutData;
+				-- synthesis translate_off
+				write (l,string'("Dlen;" & integer'image(dlen) & ";WStart2 " &  integer'image(Dlen) & ";" & image(MyRank) & "; ended at  ; " & real'image(rt(now))));
+				report l.all;
+            writeline (f, l) ; 
+				-- synthesis translate_on
+			end if;
+			
+		
+		when putdata => --construire le packet pour le Put
+				
+					--dlen:=251; ---
+					if ct=0 then
+					-- synthesis translate_off 
+					write (l,string'("Dlen;" & integer'image(dlen) & ";PUT1 " & integer'image(dlen) & ";" & image(MyRank) & "; started at ; " & real'image(rt(now))));
+					report l.all;
+					writeline (f, l) ; 
+					-- synthesis translate_on
+					end if;
+					 
+					SrcAdr:=X"000A";--std_logic_vector(to_unsigned(DATAPTR,ADRLEN));
+					--DestAdr:=X"033F";
+					pMPI_put(ct,Libr,Clk,Sram,SrcAdr,Dlen,MPI_int,destrank,DestAdr,Dlen,Mpi_int,Default_win);
+					
+					adresse:=to_integer(unsigned(sram.O.addr_wr));
+					adresse_rd:=to_integer(unsigned(sram.O.addr_rd));
+					
+					dcount:=ct;
+					
+					if ct=0 then
+						RunState<=GetData;
+					-- synthesis translate_off 
+					report "Put of Process n°; " & image(MyRank) & "; ended at ; " & real'image(rt(now));
+					write (l,string'("Dlen;" & integer'image(dlen) & ";PUT2 " & integer'image(dlen) & ";" & image(MyRank) & "; ended at time ; " & real'image(rt(now))));
+					report l.all;
+					writeline (f, l) ;
+					-- synthesis translate_on
+					end if;
+					
+				
+			when getdata =>   --positionnement du mot de longueur des données
+					--dlen:=251; --- 
+					if ct=0 then
+					-- synthesis translate_off 
+					write (l,string'("Dlen;" & integer'image(dlen) & ";GET1; " & image(MyRank) & "; started at ; " & real'image(rt(now))));
+					report l.all;
+					writeline (f, l) ; 
+					-- synthesis translate_on
+					end if;
+					
+					SrcAdr:=X"006D";
+					DestAdr:=X"1400";
+					if unsigned(MyRank) = 0 then 
+				  	pMPI_GET(ct,Libr,Clk,Sram,SrcAdr,Dlen,MPI_int,destrank,DestAdr,Dlen,Mpi_int,Default_win);
+					else
+					  
+						--pMPI_GET(ct,Libr,Clk,Sram,SrcAdr,Dlen,MPI_int,nb_rma,DestAdr,Dlen,Mpi_int,Default_win);
+					end if;
+					adresse:=to_integer(unsigned(sram.O.addr_wr));
+					adresse_rd:=to_integer(unsigned(sram.O.addr_rd));
+					
+					dcount:=ct;
+					
+					if ct=0 then
+					  if unsigned(MyRank)/=0 then
+						RunState<=wincompleted;
+						else
+						  nb_rma:=nb_rma+1;
+						  if nb_rma=2 then 
+						    RunState<=wincompleted;
+						    nb_rma:=0;
+						   end if;
+						end if;
+						-- synthesis translate_off 
+						assert ct/=0 report "GET_END " & integer'image(destrank)
+								severity Warning ;
+						write (l,string'("Dlen ;" & integer'image(dlen) & ";GET2 " & integer'image(dlen) & ";" & image(MyRank) & "; ended at ; " & real'image(rt(now))));
+					report l.all;
+					
+					writeline (f, l) ; 
+						-- synthesis translate_on
+					end if;
+				
+				when WinCompleted =>
+				if ct=0 then
+						-- synthesis translate_off 
+						write (l,string'("Dlen ;" & integer'image(dlen) & ";Compl1 " & integer'image(dlen) & ";" & image(MyRank) & "; started at ; " & real'image(rt(now))));
+						report l.all;
+						writeline (f, l) ; 
+						-- synthesis translate_on 
+					end if;	
+					 pMPI_Win_Complete(ct,Libr,sram,MyWin );
+					 adresse:=to_integer(unsigned(sram.O.addr_wr));
+					adresse_rd:=to_integer(unsigned(sram.O.addr_rd));
+					
+					if ct=0 then
+						RunState<=WinWait;	
+						-- synthesis translate_off 
+						write (l,string'("Dlen ;" & integer'image(dlen) & ";Compl2 " & integer'image(dlen) & ";" & image(MyRank) & "; ended at ; " & real'image(rt(now))));
+						report l.all;
+						writeline (f, l) ;
+						-- synthesis translate_on
+						
+					end if;	  
+			when WinWait =>
+				if ct=0 then
+						-- synthesis translate_off 
+						write (l,string'("Dlen ;" & integer'image(dlen) & ";WAIT1 " & integer'image(dlen) & ";" & image(MyRank) & "; started at ; " & real'image(rt(now))));
+						report l.all;
+						writeline (f, l) ; 
+						-- synthesis translate_on 
+					end if;	
+					 pMPI_Win_wait(ct,Libr,sram,MyWin );
+					 adresse:=to_integer(unsigned(sram.O.addr_wr));
+					adresse_rd:=to_integer(unsigned(sram.O.addr_rd));
+					
+					if ct=0 then
+					  if Libr.I.Spawned='1' then
+						RunState<=Finalize;	
+						elsif spawn_on='1' then
+						  RunState<=Finalize;	
+						else
+						  RunState<=MpiSpawn;	
+						end if;
+						-- synthesis translate_off 
+						write (l,string'("Dlen ;" & integer'image(dlen) & ";WAIT2 " & integer'image(dlen) & ";" & image(MyRank) & "; ended at ; " & real'image(rt(now))));
+						report l.all;
+						writeline (f, l) ;
+						-- synthesis translate_on
+						
+					end if;	  
+							
+			when MpiSpawn =>
+				if ct=0 then
+						-- synthesis translate_off 
+						write (l,string'("Dlen ;" & integer'image(dlen) & ";Spawn1 " & integer'image(dlen) & ";" & image(MyRank) & "; started at ; " & real'image(rt(now))));
+						report l.all;
+						writeline (f, l) ; 
+						-- synthesis translate_on 
+					end if;	
+					--(NextCtx : inout natural;signal Interf:inout Core_io;signal SysRam :inout typ_dpram;  
+
+						maxprocs:=2;
+					 pMPI_Comm_Spawn(ct,Libr,sram,command,argv,maxprocs,info,root,comm,intercomm,array_of_errcodes);
+					 adresse:=to_integer(unsigned(sram.O.addr_wr));
+					adresse_rd:=to_integer(unsigned(sram.O.addr_rd));
+					
+					if ct=0 then
+					  if unsigned(MyRank)=0 then
+					      Spawn_on:='1';
+					       Mygroup.grp<=x"000C";-- rank 3,4
+		      		      destRank:=0;
+					      runstate<=WinPost;
+					    else
+          						RunState<=Finalize;	
+						end if;
+					
+						-- synthesis translate_off 
+						write (l,string'("Dlen ;" & integer'image(dlen) & ";Spawn2 " & integer'image(dlen) & ";" & image(MyRank) & "; ended at ; " & real'image(rt(now))));
+						report l.all;
+						writeline (f, l) ;
+						-- synthesis translate_on
+						
+					end if;	  			
+			when finalize =>
+					if ct=0 then
+						-- synthesis translate_off 
+						write (l,string'("Dlen ;" & integer'image(dlen) & ";FINALIZE1 " & integer'image(dlen) & ";" & image(MyRank) & "; started at ; " & real'image(rt(now))));
+						report l.all;
+						writeline (f, l) ; 
+						-- synthesis translate_on
+					end if;	
+					 sram.O.we<='0';
+					sram.O.ena<='0';
+					sram.O.enb<='0';
+					if ct=0 then
+						RunState<=start;	
+						-- synthesis translate_off 
+						write (l,string'("Dlen ;" & integer'image(dlen) & ";FINALIZE2 " & integer'image(dlen) & ";" & image(MyRank) & "; ended at ; " & real'image(rt(now))));
+						report l.all;
+						writeline (f, l) ;
+						file_close(f);	
+						-- synthesis translate_on 
+					end if;	  
+		
+			when st_timeout =>
+			  
+					sram.O.we<='0';
+					sram.O.ena<='0';
+					sram.O.enb<='0';
+		
+			  RunState<=start;
+			end case;
+			ct_state<=ct; --pour débogage
+		end if;
+	end if;
+
+  end process pPutGet;	
+
+end a_count;
+
Index: /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/HT_process.vhd
===================================================================
--- /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/HT_process.vhd	(revision 75)
+++ /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/HT_process.vhd	(revision 76)
@@ -144,5 +144,5 @@
 				--Dcount<=0;
 				if bfill=0 then -- si le nombre de bloc de mémoire remplis est vide
-						RunState<=Fillmem;
+						RunState<=InitApp;
 				 end if;
 				 --Ram_busy<='0';
@@ -185,5 +185,5 @@
 						 
 						 if bfill=4 then
-						  RunState<=InitApp;
+						  RunState<=WinCreate;
 						 else
 							RunState<=nextfill;
@@ -212,5 +212,5 @@
 		when InitApp =>
 				--code pour Init 
-				dlen:=15;
+				dlen:=10;
 				if ct=0 then
 				-- synthesis translate_off 
@@ -251,7 +251,7 @@
 			
 			if ct=0 then
-				RunState<=WinCreate;
+				RunState<=Fillmem;
 				-- synthesis translate_off
-				write (l,string'("Dlen; ;Rank2 " &  integer'image(Dlen) & ";" & image(MyRank) & "; ended at  ; " & real'image(rt(now))));
+				write (l,string'("Dlen;"& integer'image(dlen) & ";Rank2 " &  integer'image(Dlen) & ";" & image(MyRank) & "; ended at  ; " & real'image(rt(now))));
 				report l.all;
             writeline (f, l) ; 
@@ -288,5 +288,5 @@
 			if ct=0 then
 				-- synthesis translate_off 
-				write (l,string'("Dlen; ;WPost1 " &  integer'image(Dlen) & "; ; started  ; " & real'image(rt(now))));
+				write (l,string'("Dlen;"& integer'image(dlen) & ";WPost1 " &  integer'image(Dlen) & "; ; started  ; " & real'image(rt(now))));
 				report l.all;
             writeline (f, l) ;  
@@ -299,5 +299,5 @@
 				RunState<=WinStart;
 				-- synthesis translate_off
-				write (l,string'("Dlen; ;WPost2 " &  integer'image(Dlen) & ";" & image(MyRank) & "; ended at  ; " & real'image(rt(now))));
+				write (l,string'("Dlen;"& integer'image(dlen) & ";WPost2 " &  integer'image(Dlen) & ";" & image(MyRank) & "; ended at  ; " & real'image(rt(now))));
 				report l.all;
             writeline (f, l) ; 
@@ -308,5 +308,5 @@
 			if ct=0 then
 				-- synthesis translate_off 
-				write (l,string'("Dlen; ;WStart1 " &  integer'image(Dlen) & "; ; started  ; " & real'image(rt(now))));
+				write (l,string'("Dlen;" & integer'image(dlen) & ";WStart1 " &  integer'image(Dlen) & "; ; started  ; " & real'image(rt(now))));
 				report l.all;
             writeline (f, l) ;  
@@ -322,5 +322,5 @@
 				RunState<=PutData;
 				-- synthesis translate_off
-				write (l,string'("Dlen; ;WStart2 " &  integer'image(Dlen) & ";" & image(MyRank) & "; ended at  ; " & real'image(rt(now))));
+				write (l,string'("Dlen;" & integer'image(dlen) & ";WStart2 " &  integer'image(Dlen) & ";" & image(MyRank) & "; ended at  ; " & real'image(rt(now))));
 				report l.all;
             writeline (f, l) ; 
Index: /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/IP_Timer.prj
===================================================================
--- /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/IP_Timer.prj	(revision 76)
+++ /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/IP_Timer.prj	(revision 76)
@@ -0,0 +1,2 @@
+vhdl NocLib "../SWITCH_GENERIC_16_16/CoreTypes.vhd"
+vhdl work "IP_Timer.vhd"
Index: /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/IP_Timer.vhd
===================================================================
--- /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/IP_Timer.vhd	(revision 76)
+++ /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/IP_Timer.vhd	(revision 76)
@@ -0,0 +1,73 @@
+---------------------------------------------------------------------------------
+-- Company: 
+-- Engineer: 
+-- 
+-- Create Date:    15:11:13 01/16/2014 
+-- Design Name: 
+-- Module Name:    IP_Timer - Behavioral 
+-- Project Name: 
+-- Target Devices: 
+-- Tool versions: 
+-- Description: 
+--
+-- Dependencies: 
+--
+-- Revision: 
+-- Revision 0.01 - File Created
+-- Additional Comments: 
+--
+----------------------------------------------------------------------------------
+
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.std_logic_unsigned.all;
+-- Uncomment the following library declaration if using
+-- arithmetic functions with Signed or Unsigned values
+use IEEE.NUMERIC_STD.ALL;
+
+-- Uncomment the following library declaration if instantiating
+-- any Xilinx primitives in this code.
+--library UNISIM;
+--use UNISIM.VComponents.all;
+
+entity IP_Timer is
+
+port (clk,reset,upDn,load,start:in std_logic;
+loadval :in std_logic_vector(31 downto 0);
+outval : out std_logic_vector(31 downto 0);
+zero : out std_logic);
+
+end IP_Timer;
+
+architecture Behavioral of IP_Timer is
+signal count: std_logic_vector(31 downto 0);
+signal z:std_logic:='1';
+begin
+process (clk) 
+begin
+   if clk='1' and clk'event then
+      if reset='1' then 
+         count <= (others => '0');
+			z<='1';
+      elsif start='1' then
+         if load='1' then
+            count <= loadval;
+         else 
+            if UpDn='1' then   
+               count <= count + 1;
+            else
+               count <= count - 1;
+            end if;
+         end if;
+			if count=0 then
+				z<='1';
+			else
+				z<='0';
+			end if;
+      end if;
+   end if;
+end process; 
+OutVal<=count;
+zero<=z;
+end Behavioral;
+
Index: /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/MPI_CORE_COMPONENTS.gise
===================================================================
--- /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/MPI_CORE_COMPONENTS.gise	(revision 75)
+++ /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/MPI_CORE_COMPONENTS.gise	(revision 76)
@@ -103,6 +103,21 @@
     <file xil_pn:fileType="FILE_XRPT" xil_pn:name="DMA_ARBITER_xst.xrpt"/>
     <file xil_pn:fileType="FILE_NCD" xil_pn:name="EX4_FSM_guide.ncd" xil_pn:origination="imported"/>
+    <file xil_pn:branch="BehavioralSim" xil_pn:fileType="FILE_MODELSIM_CMD" xil_pn:name="Ex5_FSM.fdo"/>
     <file xil_pn:branch="BehavioralSim" xil_pn:fileType="FILE_ISIM_EXE" xil_pn:name="FIFO_256_FWFT_isim_beh.exe"/>
     <file xil_pn:branch="BehavioralSim" xil_pn:fileType="FILE_ISIM_EXE" xil_pn:name="Hold_FSM_isim_beh.exe"/>
+    <file xil_pn:fileType="FILE_CMD_LOG" xil_pn:name="IP_Timer.cmd_log"/>
+    <file xil_pn:branch="BehavioralSim" xil_pn:fileType="FILE_MODELSIM_CMD" xil_pn:name="IP_Timer.fdo"/>
+    <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_LSO" xil_pn:name="IP_Timer.lso"/>
+    <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_NGC" xil_pn:name="IP_Timer.ngc"/>
+    <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_NGR" xil_pn:name="IP_Timer.ngr"/>
+    <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_XST_PROJECT" xil_pn:name="IP_Timer.prj"/>
+    <file xil_pn:fileType="FILE_SPL" xil_pn:name="IP_Timer.spl"/>
+    <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_XST_STX" xil_pn:name="IP_Timer.stx"/>
+    <file xil_pn:fileType="FILE_SYMBOL" xil_pn:name="IP_Timer.sym" xil_pn:origination="imported"/>
+    <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_XST_REPORT" xil_pn:name="IP_Timer.syr"/>
+    <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_XST" xil_pn:name="IP_Timer.xst"/>
+    <file xil_pn:fileType="FILE_HTML" xil_pn:name="IP_Timer_envsettings.html"/>
+    <file xil_pn:fileType="FILE_HTML" xil_pn:name="IP_Timer_summary.html"/>
+    <file xil_pn:fileType="FILE_XRPT" xil_pn:name="IP_Timer_xst.xrpt"/>
     <file xil_pn:fileType="FILE_NCD" xil_pn:name="MPICORETEST_guide.ncd" xil_pn:origination="imported"/>
     <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_NGDBUILD_LOG" xil_pn:name="MPI_CORE_SCHEDULER.bld"/>
@@ -165,5 +180,7 @@
     <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_NCD" xil_pn:name="MultiMPITest_map.ncd" xil_pn:subbranch="Map"/>
     <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_NGM" xil_pn:name="MultiMPITest_map.ngm" xil_pn:subbranch="Map"/>
+    <file xil_pn:fileType="FILE_XRPT" xil_pn:name="MultiMPITest_map.xrpt"/>
     <file xil_pn:fileType="FILE_LOG" xil_pn:name="MultiMPITest_map_fpga_editor.log"/>
+    <file xil_pn:fileType="FILE_XRPT" xil_pn:name="MultiMPITest_ngdbuild.xrpt"/>
     <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_PAD_EXCEL_REPORT" xil_pn:name="MultiMPITest_pad.csv" xil_pn:subbranch="Par"/>
     <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_PAD_TXT_REPORT" xil_pn:name="MultiMPITest_pad.txt" xil_pn:subbranch="Par"/>
@@ -194,4 +211,5 @@
     <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_UNROUTES" xil_pn:name="PE.unroutes" xil_pn:subbranch="Par"/>
     <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_XST" xil_pn:name="PE.xst"/>
+    <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_XST_PROJECT" xil_pn:name="PE_beh.prj"/>
     <file xil_pn:fileType="FILE_HTML" xil_pn:name="PE_envsettings.html"/>
     <file xil_pn:fileType="FILE_NCD" xil_pn:name="PE_guide.ncd" xil_pn:origination="imported"/>
@@ -306,9 +324,9 @@
 
   <transforms xmlns="http://www.xilinx.com/XMLSchema">
-    <transform xil_pn:end_ts="1389570072" xil_pn:name="TRAN_copyInitialToAbstractSimulation" xil_pn:start_ts="1389570072">
-      <status xil_pn:value="SuccessfullyRun"/>
-      <status xil_pn:value="ReadyToRun"/>
-    </transform>
-    <transform xil_pn:end_ts="1389743130" xil_pn:in_ck="-2724970427296384327" xil_pn:name="TRAN_copyAbstractToPostAbstractSimulation" xil_pn:start_ts="1389743129">
+    <transform xil_pn:end_ts="1389780673" xil_pn:name="TRAN_copyInitialToAbstractSimulation" xil_pn:start_ts="1389780673">
+      <status xil_pn:value="SuccessfullyRun"/>
+      <status xil_pn:value="ReadyToRun"/>
+    </transform>
+    <transform xil_pn:end_ts="1389973516" xil_pn:in_ck="-5178871848763058326" xil_pn:name="TRAN_copyAbstractToPostAbstractSimulation" xil_pn:start_ts="1389973515">
       <status xil_pn:value="SuccessfullyRun"/>
       <status xil_pn:value="ReadyToRun"/>
@@ -355,6 +373,9 @@
       <outfile xil_pn:name="FIfo_mem.vhd"/>
       <outfile xil_pn:name="FIfo_proc.vhd"/>
+      <outfile xil_pn:name="HCL_Arch_conf.vhd"/>
+      <outfile xil_pn:name="HT_4.vhd"/>
       <outfile xil_pn:name="HT_process.vhd"/>
       <outfile xil_pn:name="Hold_FSM.vhd"/>
+      <outfile xil_pn:name="IP_Timer.vhd"/>
       <outfile xil_pn:name="MPICORETEST.vhd"/>
       <outfile xil_pn:name="MPI_CORE_SCHEDULER.vhd"/>
@@ -376,17 +397,17 @@
       <outfile xil_pn:name="test_DMA.vhd"/>
     </transform>
-    <transform xil_pn:end_ts="1389570072" xil_pn:name="TRAN_xawsToSimhdl" xil_pn:prop_ck="-8801908244967488165" xil_pn:start_ts="1389570072">
-      <status xil_pn:value="SuccessfullyRun"/>
-      <status xil_pn:value="ReadyToRun"/>
-    </transform>
-    <transform xil_pn:end_ts="1389570074" xil_pn:in_ck="-4314534165031354162" xil_pn:name="TRAN_schematicsToHdlSim" xil_pn:prop_ck="3275490455063375833" xil_pn:start_ts="1389570072">
-      <status xil_pn:value="SuccessfullyRun"/>
-      <status xil_pn:value="ReadyToRun"/>
-    </transform>
-    <transform xil_pn:end_ts="1389726825" xil_pn:name="TRAN_regenerateCoresSim" xil_pn:prop_ck="7827306417472095804" xil_pn:start_ts="1389726825">
-      <status xil_pn:value="SuccessfullyRun"/>
-      <status xil_pn:value="ReadyToRun"/>
-    </transform>
-    <transform xil_pn:end_ts="1389743130" xil_pn:in_ck="-2724970427296384327" xil_pn:name="TRAN_copyPostAbstractToPreSimulation" xil_pn:start_ts="1389743130">
+    <transform xil_pn:end_ts="1389973586" xil_pn:name="TRAN_xawsToSimhdl" xil_pn:prop_ck="-8801908244967488165" xil_pn:start_ts="1389973586">
+      <status xil_pn:value="SuccessfullyRun"/>
+      <status xil_pn:value="ReadyToRun"/>
+    </transform>
+    <transform xil_pn:end_ts="1389973589" xil_pn:in_ck="-4314534165031354162" xil_pn:name="TRAN_schematicsToHdlSim" xil_pn:prop_ck="3275490455063375833" xil_pn:start_ts="1389973586">
+      <status xil_pn:value="SuccessfullyRun"/>
+      <status xil_pn:value="ReadyToRun"/>
+    </transform>
+    <transform xil_pn:end_ts="1389797219" xil_pn:name="TRAN_regenerateCoresSim" xil_pn:prop_ck="2807353887341256342" xil_pn:start_ts="1389797219">
+      <status xil_pn:value="SuccessfullyRun"/>
+      <status xil_pn:value="ReadyToRun"/>
+    </transform>
+    <transform xil_pn:end_ts="1389973521" xil_pn:in_ck="-5178871848763058326" xil_pn:name="TRAN_copyPostAbstractToPreSimulation" xil_pn:start_ts="1389973521">
       <status xil_pn:value="SuccessfullyRun"/>
       <status xil_pn:value="ReadyToRun"/>
@@ -433,6 +454,9 @@
       <outfile xil_pn:name="FIfo_mem.vhd"/>
       <outfile xil_pn:name="FIfo_proc.vhd"/>
+      <outfile xil_pn:name="HCL_Arch_conf.vhd"/>
+      <outfile xil_pn:name="HT_4.vhd"/>
       <outfile xil_pn:name="HT_process.vhd"/>
       <outfile xil_pn:name="Hold_FSM.vhd"/>
+      <outfile xil_pn:name="IP_Timer.vhd"/>
       <outfile xil_pn:name="MPICORETEST.vhd"/>
       <outfile xil_pn:name="MPI_CORE_SCHEDULER.vhd"/>
@@ -454,5 +478,5 @@
       <outfile xil_pn:name="test_DMA.vhd"/>
     </transform>
-    <transform xil_pn:end_ts="1389743164" xil_pn:in_ck="-2724970427296384327" xil_pn:name="TRAN_MSimulateBehavioralModel" xil_pn:prop_ck="-6667380628693525942" xil_pn:start_ts="1389743130">
+    <transform xil_pn:end_ts="1389973619" xil_pn:in_ck="-5178871848763058326" xil_pn:name="TRAN_MSimulateBehavioralModel" xil_pn:prop_ck="-6667380628693525942" xil_pn:start_ts="1389973589">
       <status xil_pn:value="SuccessfullyRun"/>
       <status xil_pn:value="ReadyToRun"/>
@@ -461,78 +485,13 @@
       <outfile xil_pn:name="work"/>
     </transform>
-    <transform xil_pn:end_ts="1389558632" xil_pn:name="TRAN_copyInitialToXSTAbstractSynthesis" xil_pn:start_ts="1389558632">
-      <status xil_pn:value="SuccessfullyRun"/>
-      <status xil_pn:value="ReadyToRun"/>
-    </transform>
-    <transform xil_pn:end_ts="1389723757" xil_pn:in_ck="-4314534165031354162" xil_pn:name="TRAN_schematicsToHdl" xil_pn:prop_ck="-4817802592528555221" xil_pn:start_ts="1389723754">
-      <status xil_pn:value="SuccessfullyRun"/>
-      <status xil_pn:value="ReadyToRun"/>
-    </transform>
-    <transform xil_pn:end_ts="1389723757" xil_pn:name="TRAN_regenerateCores" xil_pn:prop_ck="7827306417472095804" xil_pn:start_ts="1389723757">
-      <status xil_pn:value="SuccessfullyRun"/>
-      <status xil_pn:value="ReadyToRun"/>
-    </transform>
-    <transform xil_pn:end_ts="1389723757" xil_pn:name="TRAN_SubProjectAbstractToPreProxy" xil_pn:start_ts="1389723757">
-      <status xil_pn:value="SuccessfullyRun"/>
-      <status xil_pn:value="ReadyToRun"/>
-    </transform>
-    <transform xil_pn:end_ts="1389723757" xil_pn:name="TRAN_xawsTohdl" xil_pn:prop_ck="-1893960479894904659" xil_pn:start_ts="1389723757">
-      <status xil_pn:value="SuccessfullyRun"/>
-      <status xil_pn:value="ReadyToRun"/>
-    </transform>
-    <transform xil_pn:end_ts="1389723757" xil_pn:name="TRAN_SubProjectPreToStructuralProxy" xil_pn:prop_ck="8977612015756273942" xil_pn:start_ts="1389723757">
-      <status xil_pn:value="SuccessfullyRun"/>
-      <status xil_pn:value="ReadyToRun"/>
-    </transform>
-    <transform xil_pn:end_ts="1389723757" xil_pn:name="TRAN_platgen" xil_pn:prop_ck="-2122804370720789306" xil_pn:start_ts="1389723757">
-      <status xil_pn:value="SuccessfullyRun"/>
-      <status xil_pn:value="ReadyToRun"/>
-    </transform>
-    <transform xil_pn:end_ts="1389725470" xil_pn:in_ck="-8697612743778259046" xil_pn:name="TRANEXT_xstsynthesize_spartan6" xil_pn:prop_ck="-7202030164265802586" xil_pn:start_ts="1389725338">
-      <status xil_pn:value="SuccessfullyRun"/>
-      <status xil_pn:value="WarningsGenerated"/>
-      <status xil_pn:value="ReadyToRun"/>
-      <status xil_pn:value="OutOfDateForInputs"/>
-      <status xil_pn:value="InputChanged"/>
-      <outfile xil_pn:name="CORE_MPI.lso"/>
-      <outfile xil_pn:name="CORE_MPI.ngc"/>
-      <outfile xil_pn:name="CORE_MPI.ngr"/>
-      <outfile xil_pn:name="CORE_MPI.prj"/>
-      <outfile xil_pn:name="CORE_MPI.stx"/>
-      <outfile xil_pn:name="CORE_MPI.syr"/>
-      <outfile xil_pn:name="CORE_MPI.xst"/>
-      <outfile xil_pn:name="CORE_MPI_xst.xrpt"/>
-      <outfile xil_pn:name="DMA_ARBITER.ngr"/>
-      <outfile xil_pn:name="MPI_CORE_SCHEDULER.ngr"/>
-      <outfile xil_pn:name="_xmsgs/xst.xmsgs"/>
-      <outfile xil_pn:name="load_instr.ngr"/>
-      <outfile xil_pn:name="webtalk_pn.xml"/>
-      <outfile xil_pn:name="xst"/>
-    </transform>
-    <transform xil_pn:end_ts="1389723997" xil_pn:in_ck="6885079285025204965" xil_pn:name="TRAN_compileBCD2" xil_pn:prop_ck="-3683379310506444734" xil_pn:start_ts="1389723997">
-      <status xil_pn:value="SuccessfullyRun"/>
-      <status xil_pn:value="ReadyToRun"/>
-    </transform>
-    <transform xil_pn:end_ts="1389724003" xil_pn:in_ck="-1005953262871376632" xil_pn:name="TRANEXT_ngdbuild_FPGA" xil_pn:prop_ck="3081276958392942983" xil_pn:start_ts="1389723997">
-      <status xil_pn:value="SuccessfullyRun"/>
-      <status xil_pn:value="ReadyToRun"/>
-      <status xil_pn:value="OutOfDateForInputs"/>
+    <transform xil_pn:end_ts="1389786150" xil_pn:name="TRAN_copyInitialToXSTAbstractSynthesis" xil_pn:start_ts="1389786150">
+      <status xil_pn:value="SuccessfullyRun"/>
+      <status xil_pn:value="ReadyToRun"/>
+    </transform>
+    <transform xil_pn:end_ts="1389882619" xil_pn:in_ck="6885079285025204965" xil_pn:name="TRAN_compileBCD2" xil_pn:prop_ck="-2338681308976167439" xil_pn:start_ts="1389882619">
+      <status xil_pn:value="SuccessfullyRun"/>
+      <status xil_pn:value="ReadyToRun"/>
+      <status xil_pn:value="OutOfDateForProperties"/>
       <status xil_pn:value="OutOfDateForPredecessor"/>
-      <status xil_pn:value="InputChanged"/>
-      <outfile xil_pn:name="CORE_MPI.bld"/>
-      <outfile xil_pn:name="CORE_MPI.ngd"/>
-      <outfile xil_pn:name="CORE_MPI_ngdbuild.xrpt"/>
-      <outfile xil_pn:name="_ngo"/>
-      <outfile xil_pn:name="_xmsgs/ngdbuild.xmsgs"/>
-    </transform>
-    <transform xil_pn:end_ts="1389724025" xil_pn:in_ck="4512930838117587152" xil_pn:name="TRANEXT_map_spartan6" xil_pn:prop_ck="4079613270754646221" xil_pn:start_ts="1389724003">
-      <status xil_pn:value="FailedRun"/>
-      <status xil_pn:value="ReadyToRun"/>
-      <status xil_pn:value="OutOfDateForPredecessor"/>
-      <outfile xil_pn:name="CORE_MPI_map.map"/>
-      <outfile xil_pn:name="CORE_MPI_map.mrp"/>
-      <outfile xil_pn:name="CORE_MPI_map.ngm"/>
-      <outfile xil_pn:name="CORE_MPI_map.xrpt"/>
-      <outfile xil_pn:name="_xmsgs/map.xmsgs"/>
     </transform>
   </transforms>
Index: /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/MPI_CORE_COMPONENTS.xise
===================================================================
--- /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/MPI_CORE_COMPONENTS.xise	(revision 75)
+++ /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/MPI_CORE_COMPONENTS.xise	(revision 76)
@@ -314,4 +314,16 @@
     </file>
     <file xil_pn:name="SetBit.vhd" xil_pn:type="FILE_VHDL">
+      <association xil_pn:name="BehavioralSimulation"/>
+      <association xil_pn:name="Implementation"/>
+    </file>
+    <file xil_pn:name="HT_4.vhd" xil_pn:type="FILE_VHDL">
+      <association xil_pn:name="BehavioralSimulation"/>
+      <association xil_pn:name="Implementation"/>
+    </file>
+    <file xil_pn:name="IP_Timer.vhd" xil_pn:type="FILE_VHDL">
+      <association xil_pn:name="BehavioralSimulation"/>
+      <association xil_pn:name="Implementation"/>
+    </file>
+    <file xil_pn:name="HCL_Arch_conf.vhd" xil_pn:type="FILE_VHDL">
       <association xil_pn:name="BehavioralSimulation"/>
       <association xil_pn:name="Implementation"/>
@@ -444,7 +456,7 @@
     <property xil_pn:name="Ignore User Timing Constraints Map" xil_pn:value="false" xil_pn:valueState="default"/>
     <property xil_pn:name="Ignore User Timing Constraints Par" xil_pn:value="false" xil_pn:valueState="default"/>
-    <property xil_pn:name="Implementation Top" xil_pn:value="Architecture|CORE_MPI|Structural" xil_pn:valueState="non-default"/>
-    <property xil_pn:name="Implementation Top File" xil_pn:value="CORE_MPI.vhd" xil_pn:valueState="non-default"/>
-    <property xil_pn:name="Implementation Top Instance Path" xil_pn:value="/MultiMPITest/Xbar/hardmpi" xil_pn:valueState="non-default"/>
+    <property xil_pn:name="Implementation Top" xil_pn:value="Architecture|MultiMPITest|behavior" xil_pn:valueState="non-default"/>
+    <property xil_pn:name="Implementation Top File" xil_pn:value="MultiMPITest.vhd" xil_pn:valueState="non-default"/>
+    <property xil_pn:name="Implementation Top Instance Path" xil_pn:value="/MultiMPITest" xil_pn:valueState="non-default"/>
     <property xil_pn:name="Include 'uselib Directive in Verilog File" xil_pn:value="false" xil_pn:valueState="default"/>
     <property xil_pn:name="Include SIMPRIM Models in Verilog File" xil_pn:value="false" xil_pn:valueState="default"/>
@@ -497,6 +509,6 @@
     <property xil_pn:name="Number of Paths in Error/Verbose Report Post Trace" xil_pn:value="3" xil_pn:valueState="default"/>
     <property xil_pn:name="Optimization Effort" xil_pn:value="Normal" xil_pn:valueState="default"/>
-    <property xil_pn:name="Optimization Effort spartan6" xil_pn:value="Normal" xil_pn:valueState="default"/>
-    <property xil_pn:name="Optimization Goal" xil_pn:value="Speed" xil_pn:valueState="default"/>
+    <property xil_pn:name="Optimization Effort spartan6" xil_pn:value="High" xil_pn:valueState="non-default"/>
+    <property xil_pn:name="Optimization Goal" xil_pn:value="Area" xil_pn:valueState="non-default"/>
     <property xil_pn:name="Optimization Strategy (Cover Mode)" xil_pn:value="Area" xil_pn:valueState="default"/>
     <property xil_pn:name="Optimize Instantiated Primitives" xil_pn:value="false" xil_pn:valueState="default"/>
@@ -522,5 +534,5 @@
     <property xil_pn:name="Other XST Command Line Options" xil_pn:value="" xil_pn:valueState="default"/>
     <property xil_pn:name="Output Extended Identifiers" xil_pn:value="false" xil_pn:valueState="default"/>
-    <property xil_pn:name="Output File Name" xil_pn:value="CORE_MPI" xil_pn:valueState="default"/>
+    <property xil_pn:name="Output File Name" xil_pn:value="MultiMPITest" xil_pn:valueState="default"/>
     <property xil_pn:name="Overwrite Compiled Libraries" xil_pn:value="false" xil_pn:valueState="default"/>
     <property xil_pn:name="Overwrite Existing Symbol" xil_pn:value="false" xil_pn:valueState="default"/>
@@ -538,8 +550,8 @@
     <property xil_pn:name="Placer Extra Effort Map" xil_pn:value="None" xil_pn:valueState="default"/>
     <property xil_pn:name="Port to be used" xil_pn:value="Auto - default" xil_pn:valueState="default"/>
-    <property xil_pn:name="Post Map Simulation Model Name" xil_pn:value="CORE_MPI_map.vhd" xil_pn:valueState="default"/>
-    <property xil_pn:name="Post Place &amp; Route Simulation Model Name" xil_pn:value="CORE_MPI_timesim.vhd" xil_pn:valueState="default"/>
-    <property xil_pn:name="Post Synthesis Simulation Model Name" xil_pn:value="CORE_MPI_synthesis.vhd" xil_pn:valueState="default"/>
-    <property xil_pn:name="Post Translate Simulation Model Name" xil_pn:value="CORE_MPI_translate.vhd" xil_pn:valueState="default"/>
+    <property xil_pn:name="Post Map Simulation Model Name" xil_pn:value="MultiMPITest_map.vhd" xil_pn:valueState="default"/>
+    <property xil_pn:name="Post Place &amp; Route Simulation Model Name" xil_pn:value="MultiMPITest_timesim.vhd" xil_pn:valueState="default"/>
+    <property xil_pn:name="Post Synthesis Simulation Model Name" xil_pn:value="MultiMPITest_synthesis.vhd" xil_pn:valueState="default"/>
+    <property xil_pn:name="Post Translate Simulation Model Name" xil_pn:value="MultiMPITest_translate.vhd" xil_pn:valueState="default"/>
     <property xil_pn:name="Power Reduction Map" xil_pn:value="false" xil_pn:valueState="default"/>
     <property xil_pn:name="Power Reduction Map spartan6" xil_pn:value="Off" xil_pn:valueState="default"/>
@@ -567,5 +579,5 @@
     <property xil_pn:name="Rename Design Instance in Testbench File to" xil_pn:value="UUT" xil_pn:valueState="default"/>
     <property xil_pn:name="Rename Top Level Architecture To" xil_pn:value="Structure" xil_pn:valueState="default"/>
-    <property xil_pn:name="Rename Top Level Entity to" xil_pn:value="CORE_MPI" xil_pn:valueState="default"/>
+    <property xil_pn:name="Rename Top Level Entity to" xil_pn:value="MultiMPITest" xil_pn:valueState="default"/>
     <property xil_pn:name="Rename Top Level Module To" xil_pn:value="" xil_pn:valueState="default"/>
     <property xil_pn:name="Report Fastest Path(s) in Each Constraint" xil_pn:value="true" xil_pn:valueState="default"/>
Index: /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/MultiMPITest.ucf
===================================================================
--- /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/MultiMPITest.ucf	(revision 75)
+++ /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/MultiMPITest.ucf	(revision 76)
@@ -2,8 +2,8 @@
 #Created by Constraints Editor (xc6slx45-csg324-3) - 2012/12/19
 NET "clkm" TNM_NET = clkm;
-TIMESPEC TS_clkm = PERIOD "clkm" 15 ns HIGH 50%;
+TIMESPEC TS_clkm = PERIOD "clkm" 18 ns HIGH 50%;
 PIN "reset_IBUF_BUFG.O" CLOCK_DEDICATED_ROUTE = FALSE;
 NET "reset" LOC = "T15"; # Bank = 2, Pin name = IO_L1N_M0_CMPMISO_2, Sch name = M0/RESET
-
+NET "clk"   LOC = "L15"; # Bank = 1, Pin name = IO_L42P_GCLK7_M1UDM, Type = GCLK, Sch name = GCLK
 # onBoard Leds
  NET "result<0>" LOC = "U18"; # Bank = 1, Pin name = IO_L52N_M1DQ15, 	   Sch name = LD0
@@ -15,3 +15,3 @@
  NET "result<6>" LOC = "P16"; # Bank = 1, Pin name = IO_L74N_DOUT_BUSY_1, Sch name = LD6
  NET "result<7>" LOC = "N12"; # Bank = 2, Pin name = IO_L13P_M1_2,		   Sch name = M1/LD7
- 
+# 
Index: /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/MultiMPITest.vhd
===================================================================
--- /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/MultiMPITest.vhd	(revision 75)
+++ /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/MultiMPITest.vhd	(revision 76)
@@ -29,5 +29,5 @@
 use NocLib.CoreTypes.all;
 use work.Packet_type.all;
-
+use work.Hcl_Arch_conf.all;
 USE ieee.numeric_std.ALL;
  
@@ -90,5 +90,5 @@
  
 BEGIN
- Xbar: MPI_NOC GENERIC MAP (NPROC=>PROC)
+ Xbar: MPI_NOC GENERIC MAP (NPROC=>NOC_SIZE)
 		PORT MAP (
           MPI_Node_in => MPI_Node_in,
@@ -96,41 +96,41 @@
         );
 
-PE1: PE generic map (DestId=>0)
-Port Map (
-Instruction => MPi_Node_in(1).Instruction,
-           Instruction_en => MPi_Node_in(1).Instruction_en,
-			  Core_PushOut => MPi_Node_out(1).PushOut,
-           clk =>clkm,
-           reset =>reset,
-			  CE => '1',
-           Core_RAM_Data_Out =>MPi_Node_in(1).Ram_Data_out,
-           Core_RAM_Data_IN => MPI_Node_out(1).ram_data_in,
-           Core_RAM_WE => MPI_Node_out(1).ram_we,
-           Core_RAM_EN => MPI_Node_out(1).ram_en,
-          -- Core_RAM_ENB => MPI_Node_out(1).ram_en,
-           Core_RAM_Address_Wr => MPI_Node_out(1).ram_address_wr,
-           Core_RAM_Address_Rd => MPI_Node_out(1).ram_address_rd,
-           Core_Hold_req => MPI_Node_out(1).hold_req,
-           Core_Hold_Ack => MPI_Node_in(1).hold_ack
-);
-
-PE2: PE 	Generic map (DestId=>1)
-			Port Map (
-				Instruction => MPi_Node_in(2).Instruction,
-           Instruction_en => MPi_Node_in(2).Instruction_en,
-			  Core_PushOut => MPi_Node_out(2).PushOut,
-           clk =>clkm,
-           reset =>reset,
-			  CE => '1',
-           Core_RAM_Data_Out =>MPi_Node_in(2).Ram_Data_out,
-           Core_RAM_Data_IN => MPI_Node_out(2).ram_data_in,
-           Core_RAM_WE => MPI_Node_out(2).ram_we,
-           Core_RAM_EN => MPI_Node_out(2).ram_en,
-           --Core_RAM_ENB => MPI_Node_out(2).ram_en,
-           Core_RAM_Address_Wr => MPI_Node_out(2).ram_address_wr,
-           Core_RAM_Address_Rd => MPI_Node_out(2).ram_address_rd,
-           Core_Hold_req => MPI_Node_out(2).hold_req,
-           Core_Hold_Ack => MPI_Node_in(2).hold_ack
-);
+--PE1: PE generic map (DestId=>0)
+--Port Map (
+--Instruction => MPi_Node_in(1).Instruction,
+--           Instruction_en => MPi_Node_in(1).Instruction_en,
+--			  Core_PushOut => MPi_Node_out(1).PushOut,
+--           clk =>clkm,
+--           reset =>reset,
+--			  CE => '1',
+--           Core_RAM_Data_Out =>MPi_Node_in(1).Ram_Data_out,
+--           Core_RAM_Data_IN => MPI_Node_out(1).ram_data_in,
+--           Core_RAM_WE => MPI_Node_out(1).ram_we,
+--           Core_RAM_EN => MPI_Node_out(1).ram_en,
+--          -- Core_RAM_ENB => MPI_Node_out(1).ram_en,
+--           Core_RAM_Address_Wr => MPI_Node_out(1).ram_address_wr,
+--           Core_RAM_Address_Rd => MPI_Node_out(1).ram_address_rd,
+--           Core_Hold_req => MPI_Node_out(1).hold_req,
+--           Core_Hold_Ack => MPI_Node_in(1).hold_ack
+--);
+--
+--PE2: PE 	Generic map (DestId=>1)
+--			Port Map (
+--				Instruction => MPi_Node_in(2).Instruction,
+--           Instruction_en => MPi_Node_in(2).Instruction_en,
+--			  Core_PushOut => MPi_Node_out(2).PushOut,
+--           clk =>clkm,
+--           reset =>reset,
+--			  CE => '1',
+--           Core_RAM_Data_Out =>MPi_Node_in(2).Ram_Data_out,
+--           Core_RAM_Data_IN => MPI_Node_out(2).ram_data_in,
+--           Core_RAM_WE => MPI_Node_out(2).ram_we,
+--           Core_RAM_EN => MPI_Node_out(2).ram_en,
+--           --Core_RAM_ENB => MPI_Node_out(2).ram_en,
+--           Core_RAM_Address_Wr => MPI_Node_out(2).ram_address_wr,
+--           Core_RAM_Address_Rd => MPI_Node_out(2).ram_address_rd,
+--           Core_Hold_req => MPI_Node_out(2).hold_req,
+--           Core_Hold_Ack => MPI_Node_in(2).hold_ack
+--);
 --PE3: PE generic map (DestId=>2)
 --Port Map (
@@ -170,8 +170,8 @@
 --           Core_Hold_Ack => MPI_Node_in(4).hold_ack
 --);
-MPI_Node_in(1).reset<=reset;	
-MPI_Node_in(1).clk<=clkm;
-MPI_Node_in(2).reset<=reset;	
-MPI_Node_in(2).clk<=clkm;
+--MPI_Node_in(1).reset<=reset;	
+--MPI_Node_in(1).clk<=clkm;
+--MPI_Node_in(2).reset<=reset;	
+--MPI_Node_in(2).clk<=clkm;
 --MPI_Node_in(3).reset<=reset;	
 --MPI_Node_in(3).clk<=clkm;
@@ -179,6 +179,29 @@
 --MPI_Node_in(4).clk<=clkm;
 Result<=MPi_Node_out(1).PushOut;
-PE_Dyn:for i in 3 to 4 generate
-PE_i: PE 	Generic map (DestId=>i-1)
+PE_s:for i in 1 to STATIC_HT generate
+S: PE 	Generic map (DestId=>i-1)
+			Port Map (
+				Instruction => MPi_Node_in(i).Instruction,
+           Instruction_en => MPi_Node_in(i).Instruction_en,
+			  Core_PushOut => MPi_Node_out(i).PushOut,
+           clk =>clkm,
+           reset =>reset,
+			  CE => '1',
+           Core_RAM_Data_Out =>MPi_Node_in(i).Ram_Data_out,
+           Core_RAM_Data_IN => MPI_Node_out(i).ram_data_in,
+           Core_RAM_WE => MPI_Node_out(i).ram_we,
+           Core_RAM_EN => MPI_Node_out(i).ram_en,
+           --Core_RAM_ENB => MPI_Node_out(2).ram_en,
+           Core_RAM_Address_Wr => MPI_Node_out(i).ram_address_wr,
+           Core_RAM_Address_Rd => MPI_Node_out(i).ram_address_rd,
+           Core_Hold_req => MPI_Node_out(i).hold_req,
+           Core_Hold_Ack => MPI_Node_in(i).hold_ack
+);
+MPI_Node_in(i).reset<=reset;	
+MPI_Node_in(i).clk<=clkm;
+end generate PE_s;
+dyn_HT: if dyn_allowed='1' generate
+PE_D:for i in STATIC_HT+1 to NOC_SIZE generate
+D: PE 	Generic map (DestId=>i-1)
 			Port Map (
 				Instruction => MPi_Node_in(i).Instruction,
@@ -200,4 +223,5 @@
 MPI_Node_in(i).reset<=reset;	
 MPI_Node_in(i).clk<=clkm;
-end generate PE_Dyn;
+end generate PE_D;
+end generate dyn_HT;
 END;
Index: /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/MultiMPITest_summary.html
===================================================================
--- /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/MultiMPITest_summary.html	(revision 75)
+++ /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/MultiMPITest_summary.html	(revision 76)
@@ -3,5 +3,5 @@
 <TABLE BORDER CELLSPACING=0 CELLPADDING=3 WIDTH='100%'>
 <TR ALIGN=CENTER BGCOLOR='#99CCFF'>
-<TD ALIGN=CENTER COLSPAN='4'><B>MultiMPITest Project Status (01/14/2014 - 19:51:11)</B></TD></TR>
+<TD ALIGN=CENTER COLSPAN='4'><B>FIFO Project Status (01/16/2014 - 15:56:56)</B></TD></TR>
 <TR ALIGN=LEFT>
 <TD BGCOLOR='#FFFF99'><B>Project File:</B></TD>
@@ -14,5 +14,5 @@
 <TD>MultiMPITest</TD>
 <TD BGCOLOR='#FFFF99'><B>Implementation State:</B></TD>
-<TD>Synthesized</TD>
+<TD>Mapped</TD>
 </TR>
 <TR ALIGN=LEFT>
@@ -67,9 +67,8 @@
 <TR BGCOLOR='#FFFF99'><TD><B>Report Name</B></TD><TD><B>Status</B></TD><TD><B>Generated</B></TD>
 <TD ALIGN=LEFT><B>Errors</B></TD><TD ALIGN=LEFT><B>Warnings</B></TD><TD ALIGN=LEFT COLSPAN='2'><B>Infos</B></TD></TR>
-<TR ALIGN=LEFT><TD><A HREF_DISABLED='C:/Core MPI/CORE_MPI\MultiMPITest.syr'>Synthesis Report</A></TD><TD>Current</TD><TD>Tue 14. Jan 19:05:30 2014</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD COLSPAN='2'>&nbsp;</TD></TR>
-<TR ALIGN=LEFT><TD><A HREF_DISABLED='C:/Core MPI/CORE_MPI\MultiMPITest.bld'>Translation Report</A></TD><TD>Current</TD><TD>Tue 14. Jan 19:05:50 2014</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD COLSPAN='2'>&nbsp;</TD></TR>
-<TR ALIGN=LEFT><TD><A HREF_DISABLED='C:/Core MPI/CORE_MPI\MultiMPITest_map.mrp'>Map Report</A></TD><TD>Current</TD><TD>Tue 14. Jan 19:07:24 2014</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD COLSPAN='2'>&nbsp;</TD></TR>
+<TR ALIGN=LEFT><TD><A HREF_DISABLED='C:/Core MPI/CORE_MPI\MultiMPITest.syr'>Synthesis Report</A></TD><TD>Current</TD><TD>Wed 15. Jan 15:00:16 2014</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD COLSPAN='2'>&nbsp;</TD></TR>
+<TR ALIGN=LEFT><TD><A HREF_DISABLED='C:/Core MPI/CORE_MPI\MultiMPITest.bld'>Translation Report</A></TD><TD>Current</TD><TD>Wed 15. Jan 15:06:05 2014</TD><TD ALIGN=LEFT>0</TD><TD ALIGN=LEFT><A HREF_DISABLED='C:/Core MPI/CORE_MPI\_xmsgs/ngdbuild.xmsgs?&DataKey=Warning'>36 Warnings (0 new)</A></TD><TD ALIGN=LEFT COLSPAN='2'>0</TD></TR>
+<TR ALIGN=LEFT><TD><A HREF_DISABLED='C:/Core MPI/CORE_MPI\MultiMPITest_map.mrp'>Map Report</A></TD><TD>Current</TD><TD>Wed 15. Jan 15:07:45 2014</TD><TD ALIGN=LEFT><font color="red"; face="Arial"><b>X </b></font><A HREF_DISABLED='C:/Core MPI/CORE_MPI\_xmsgs/map.xmsgs?&DataKey=Error'>3 Errors (2 new)</A></TD><TD ALIGN=LEFT>0</TD><TD ALIGN=LEFT COLSPAN='2'><A HREF_DISABLED='C:/Core MPI/CORE_MPI\_xmsgs/map.xmsgs?&DataKey=Info'>8 Infos (3 new)</A></TD></TR>
 <TR ALIGN=LEFT><TD><A HREF_DISABLED='C:/Core MPI/CORE_MPI\MultiMPITest.par'>Place and Route Report</A></TD><TD>Out of Date</TD><TD>Mon 13. Jan 19:36:05 2014</TD><TD ALIGN=LEFT>0</TD><TD ALIGN=LEFT><A HREF_DISABLED='C:/Core MPI/CORE_MPI\_xmsgs/par.xmsgs?&DataKey=Warning'>1659 Warnings (0 new)</A></TD><TD ALIGN=LEFT COLSPAN='2'>0</TD></TR>
-<TR ALIGN=LEFT><TD>CPLD Fitter Report (Text)</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD COLSPAN='2'>&nbsp;</TD></TR>
 <TR ALIGN=LEFT><TD>Power Report</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD COLSPAN='2'>&nbsp;</TD></TR>
 <TR ALIGN=LEFT><TD><A HREF_DISABLED='C:/Core MPI/CORE_MPI\MultiMPITest.twr'>Post-PAR Static Timing Report</A></TD><TD>Out of Date</TD><TD>Mon 13. Jan 19:37:30 2014</TD><TD ALIGN=LEFT>0</TD><TD ALIGN=LEFT>0</TD><TD ALIGN=LEFT COLSPAN='2'><A HREF_DISABLED='C:/Core MPI/CORE_MPI\_xmsgs/trce.xmsgs?&DataKey=Info'>2 Infos (0 new)</A></TD></TR>
@@ -80,4 +79,6 @@
 <TR BGCOLOR='#FFFF99'><TD><B>Report Name</B></TD><TD><B>Status</B></TD><TD COLSPAN='2'><B>Generated</B></TD></TR>
 <TR ALIGN=LEFT><TD><A HREF_DISABLED='C:/Core MPI/CORE_MPI\isim.log'>ISIM Simulator Log</A></TD><TD>Out of Date</TD><TD COLSPAN='2'>Thu 8. Aug 16:31:11 2013</TD></TR>
+<TR ALIGN=LEFT><TD><A HREF_DISABLED='C:/Core MPI/CORE_MPI\MultiMPITest_preroute.twr'>Post-Map Static Timing Report</A></TD><TD>Out of Date</TD><TD COLSPAN='2'>Wed 19. Dec 17:30:44 2012</TD></TR>
+<TR ALIGN=LEFT><TD><A HREF_DISABLED='C:/Core MPI/CORE_MPI\netgen/par/MultiMPITest_timesim.nlf'>Post-Place and Route Simulation Model Report</A></TD><TD>Out of Date</TD><TD COLSPAN='2'>Tue 14. Jan 07:44:23 2014</TD></TR>
 <TR ALIGN=LEFT><TD><A HREF_DISABLED='C:/Core MPI/CORE_MPI\usage_statistics_webtalk.html'>WebTalk Report</A></TD><TD>Out of Date</TD><TD COLSPAN='2'>Fri 7. Jun 23:56:05 2013</TD></TR>
 <TR ALIGN=LEFT><TD><A HREF_DISABLED='C:/Core MPI/CORE_MPI\webtalk.log'>WebTalk Log File</A></TD><TD>Out of Date</TD><TD COLSPAN='2'>Fri 7. Jun 23:56:14 2013</TD></TR>
@@ -85,4 +86,4 @@
 
 
-<br><center><b>Date Generated:</b> 01/14/2014 - 20:09:39</center>
+<br><center><b>Date Generated:</b> 01/16/2014 - 19:06:43</center>
 </BODY></HTML>
Index: /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/PE.vhd
===================================================================
--- /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/PE.vhd	(revision 75)
+++ /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/PE.vhd	(revision 76)
@@ -78,4 +78,5 @@
 			  );
 end COMPONENT HT_process;
+ 
 COMPONENT Hold_FSM is
 	
@@ -144,5 +145,5 @@
   mem_i =>sram.i,
    mem_o =>sram.o	);
-
+ 
 --================================================================
 	--MUX de la RAM
Index: /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/SWITCH_GEN.ucf
===================================================================
--- /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/SWITCH_GEN.ucf	(revision 75)
+++ /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/SWITCH_GEN.ucf	(revision 76)
@@ -2,3 +2,3 @@
 #Created by Constraints Editor (xc6slx45-csg324-3) - 2013/01/04
 NET "clk" TNM_NET = clk;
-TIMESPEC TS_clk = PERIOD "clk" 10 ns HIGH 50%;
+TIMESPEC TS_clk = PERIOD "clk" 18 ns HIGH 50%;
Index: /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/SetBit.vhd
===================================================================
--- /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/SetBit.vhd	(revision 76)
+++ /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/SetBit.vhd	(revision 76)
@@ -0,0 +1,166 @@
+----------------------------------------------------------------------------------
+-- Company: 
+-- Engineer: 
+-- 
+-- Create Date:    20:30:11 08/01/2013 
+-- Design Name: 
+-- Module Name:    SetBit - Behavioral 
+-- Project Name: 
+-- Target Devices: 
+-- Tool versions: 
+-- Description: 
+--
+-- Dependencies: 
+--
+-- Revision: 
+-- Revision 0.01 - File Created
+-- Additional Comments: 
+--
+----------------------------------------------------------------------------------
+library IEEE;
+use IEEE.STD_LOGIC_1164.ALL;
+Library NocLib;
+use NoCLib.CoreTypes.all;
+--use work.packet_type.all;
+-- Uncomment the following library declaration if using
+-- arithmetic functions with Signed or Unsigned values
+--use IEEE.NUMERIC_STD.ALL;
+
+-- Uncomment the following library declaration if instantiating
+-- any Xilinx primitives in this code.
+--library UNISIM;
+--use UNISIM.VComponents.all;
+
+entity SetBit is
+    Port ( clk : in  STD_LOGIC;
+           reset : in  STD_LOGIC;
+			  BitMask : in std_logic_vector(Word-1 downto 0);
+			  BitVal : in std_logic;
+			  whole : in std_logic;			  
+			  dma_wr_grant : in  STD_LOGIC;
+				dma_wr_request : out  STD_LOGIC;
+				dma_rd_grant : in  STD_LOGIC;
+				dma_rd_request : out  STD_LOGIC;
+				ram_rd : out std_logic;
+				ram_wr : out std_logic;
+				start : in std_logic;
+				done :  out std_logic;
+				ram_address : in std_logic_vector(ADRLEN-1 downto 0);--accès au stockage
+				Ram_data_in : out STD_LOGIC_VECTOR (Word-1 downto 0);
+				Ram_data_out : in STD_LOGIC_VECTOR (Word-1 downto 0));
+end SetBit;
+
+architecture Behavioral of SetBit is
+signal n,State,Next_State:natural range 0 to 15 :=0;
+signal dma_rd,dma_wr,rd_ok ,wr_ok:std_logic:='0';
+begin
+PSetBit_sync:process(clk,reset)
+
+begin
+if rising_edge(clk) then
+if reset='1' then
+	n<=0;
+	State<=0;
+else
+  State<=Next_State;
+end if;
+end if;
+end process;
+
+PSetBit:process (State,Start,whole,BitMask,BitVal,Dma_rd_grant,Dma_wr_grant,ram_data_out)
+  variable tempval : std_logic_vector(Word-1 downto 0);
+  begin
+    Next_State<=State;
+
+    
+if State >0  then     
+			
+		dma_wr<='1';  --demander un accès exclusif au bus
+		dma_rd<='1'; -- pour éviter une mauvaise mise à jour des données
+	else
+		dma_wr<='0';										
+		dma_rd<='0';
+	end if;
+case State is
+when 0 =>
+  rd_ok<='0';
+		Wr_ok<='0';
+		done<='0';
+	if  start='1' and whole='1' then
+	 Next_State<=5;
+	 wr_ok<='1';
+	 ram_data_in<=bitmask;
+	 elsif start='1' then
+		Next_State<=State+1;
+		end if;
+		
+when 1=>	if dma_rd_grant='1' then
+		Next_State<=State+1;
+		
+		end if;
+		rd_ok<='1';
+		wr_ok<='0';
+		done<='0';
+	When 2|3=>
+		if dma_rd_grant='1' then --cycle d'attente
+			Next_State<=State+1;
+		else
+		  Next_State<=1; --recommencer l'attente si perte de priorité
+		end if;
+			rd_ok<='1';
+			wr_ok<='0';
+			done<='0';
+	When 4 =>
+			if dma_rd_grant='1' and dma_wr_grant='1' then
+				Next_State<=6;
+				tempval:=Ram_data_out;
+				if bitval='1' then 
+					tempval:= tempval or BitMask;  	
+				else
+					tempval:= tempval and not (BitMask);
+				end if;
+				if whole='1' then
+				  ram_data_in<=bitmask;
+				 else
+				  ram_data_in<=tempval;
+				end if;
+				rd_ok<='1';
+				wr_ok<='1';
+			else
+			  Next_State<=State;
+			  report "SetBit:Impossible d'avoir accès en R/W à la RAM";
+			end if;
+	When 5 =>
+	  if dma_wr_grant='1' then
+	       if whole='1' then
+				    ram_data_in<=bitmask;
+				 else
+				    ram_data_in<=tempval;
+				end if;
+				Next_State<=6;
+		end if;
+		wr_ok<='1';
+	When 6=>
+		done<='1';
+		if start='0' then
+    		Next_State<=0;
+ 	    wr_ok<='0';	
+		end if;
+		rd_ok<='0';
+		wr_ok<='1';
+	When others =>
+	  Next_State<=0;
+	  rd_ok<='0';
+		wr_ok<='0';
+		done<='0';
+end case;
+
+end process PSetBit;
+dma_rd_request <= dma_rd;
+dma_wr_request <=dma_wr;
+Ram_wr<=wr_ok;
+Ram_rd<=rd_ok;
+--Ram_data_out<=data_to_ram;
+ 
+end Behavioral;
+
Index: /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/iseconfig/MPI_CORE_COMPONENTS.projectmgr
===================================================================
--- /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/iseconfig/MPI_CORE_COMPONENTS.projectmgr	(revision 75)
+++ /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/iseconfig/MPI_CORE_COMPONENTS.projectmgr	(revision 76)
@@ -17,4 +17,6 @@
          <ClosedNode>/MPICORETEST - behavior C:|Core MPI|CORE_MPI|MPICORETEST.vhd/uut - MPI_NOC - structural/hardmpi - CORE_MPI - Structural/Instruction_Fifo1 - FIFO_64_FWFT - Behavioral</ClosedNode>
          <ClosedNode>/MPICORETEST - behavior C:|Core MPI|CORE_MPI|MPICORETEST.vhd/uut - MPI_NOC - structural/hardmpi - CORE_MPI - Structural/Instruction_Fifo2 - FIFO_64_FWFT - Behavioral</ClosedNode>
+         <ClosedNode>/MPICORETEST - behavior C:|Core MPI|CORE_MPI|MPICORETEST.vhd/uut - MPI_NOC - structural/hardmpi - CORE_MPI - Structural/MPI_CORE_EX2_FSM - EX2_FSM - Behavioral</ClosedNode>
+         <ClosedNode>/MPICORETEST - behavior C:|Core MPI|CORE_MPI|MPICORETEST.vhd/uut - MPI_NOC - structural/sw_gen1 - SWITCH_GEN - Behavioral</ClosedNode>
          <ClosedNode>/MPICORETEST - behavior C:|Core MPI|CORE_MPI|MPICORETEST.vhd/uut - MPI_NOC - structural/switch_gen - SWITCH_GEN - Behavioral/PORT10_OUTPUT_PORT_MODULE - OUTPUT_PORT_MODULE - Behavioral_description</ClosedNode>
          <ClosedNode>/MPICORETEST - behavior C:|Core MPI|CORE_MPI|MPICORETEST.vhd/uut - MPI_NOC - structural/switch_gen - SWITCH_GEN - Behavioral/PORT11_OUTPUT_PORT_MODULE - OUTPUT_PORT_MODULE - Behavioral_description</ClosedNode>
@@ -187,4 +189,6 @@
          <ClosedNode>/MultiMPITest - behavior C:|Core MPI|CORE_MPI|MultiMPITest.vhd/PE3 - PE - Behavioral</ClosedNode>
          <ClosedNode>/MultiMPITest - behavior C:|Core MPI|CORE_MPI|MultiMPITest.vhd/Xbar - MPI_NOC - structural/hardmpi - CORE_MPI - Structural/CORE_SCHEDULER - MPI_CORE_SCHEDULER - Behavioral</ClosedNode>
+         <ClosedNode>/MultiMPITest - behavior C:|Core MPI|CORE_MPI|MultiMPITest.vhd/Xbar - MPI_NOC - structural/hardmpi - CORE_MPI - Structural/MPI_PKG</ClosedNode>
+         <ClosedNode>/MultiMPITest - behavior C:|Core MPI|CORE_MPI|MultiMPITest.vhd/Xbar - MPI_NOC - structural/sw_gen1 - SWITCH_GEN - Behavioral</ClosedNode>
          <ClosedNode>/MultiMPITest - behavior C:|Core MPI|CORE_MPI|MultiMPITest.vhd/Xbar - MPI_NOC - structural/switch_gen1 - SWITCH_GEN - Behavioral</ClosedNode>
          <ClosedNode>/MultiMPITest - behavior C:|Core MPI|CORE_MPI|MultiMPITest.vhd/Xbar - MPI_NOC - structural/switch_gen1 - SWITCH_GEN - Behavioral/PORT10_OUTPUT_PORT_MODULE - OUTPUT_PORT_MODULE - Behavioral_description</ClosedNode>
@@ -243,4 +247,5 @@
          <ClosedNode>/MultiMPITest - behavior C:|Core MPI|CORE_MPI|MultiMPITest.vhd/conversions</ClosedNode>
          <ClosedNode>/SWITCH_GENERIQUE - Behavioral C:|Core MPI|SWITCH_GENERIC_16_16|SWITCH_GENERIQUE.vhd</ClosedNode>
+         <ClosedNode>/Unassigned User Library Modules</ClosedNode>
          <ClosedNode>/Unassigned User Library Modules/SWITCH_GENERIQUE - Behavioral</ClosedNode>
          <ClosedNode>/Unassigned User Library Modules/SWITCH_GENERIQUE - Behavioral/PORT10_INPUT_PORT_MODULE - INPUT_PORT_MODULE - Behavioral</ClosedNode>
@@ -378,15 +383,13 @@
          <ClosedNode>Implement Design/Place &amp; Route/Back-annotate Pin Locations</ClosedNode>
          <ClosedNode>Implement Design/Place &amp; Route/Generate IBIS Model</ClosedNode>
-         <ClosedNode>Implement Design/Place &amp; Route/Generate Post-Place &amp; Route Static Timing</ClosedNode>
-         <ClosedNode>User Constraints</ClosedNode>
-      </ClosedNodes>
-      <SelectedItems>
-         <SelectedItem>View/Edit Routed Design (FPGA Editor)</SelectedItem>
-      </SelectedItems>
-      <ScrollbarPosition orientation="vertical" >17</ScrollbarPosition>
+      </ClosedNodes>
+      <SelectedItems>
+         <SelectedItem>Synthesize - XST</SelectedItem>
+      </SelectedItems>
+      <ScrollbarPosition orientation="vertical" >2</ScrollbarPosition>
       <ScrollbarPosition orientation="horizontal" >0</ScrollbarPosition>
       <ViewHeaderState orientation="horizontal" >000000ff0000000000000001000000010000000000000000000000000000000000000000000000014b000000010000000100000000000000000000000064ffffffff0000008100000000000000010000014b0000000100000000</ViewHeaderState>
       <UserChangedColumnWidths orientation="horizontal" >false</UserChangedColumnWidths>
-      <CurrentItem>View/Edit Routed Design (FPGA Editor)</CurrentItem>
+      <CurrentItem>Synthesize - XST</CurrentItem>
    </ItemView>
    <ItemView guiview="File" >
@@ -395,11 +398,11 @@
       </ClosedNodes>
       <SelectedItems>
-         <SelectedItem>C:\Core MPI\CORE_MPI\EX4_FSM.vhd</SelectedItem>
-      </SelectedItems>
-      <ScrollbarPosition orientation="vertical" >12</ScrollbarPosition>
+         <SelectedItem>C:\Core MPI\CORE_MPI\MultiMPITest.ucf</SelectedItem>
+      </SelectedItems>
+      <ScrollbarPosition orientation="vertical" >52</ScrollbarPosition>
       <ScrollbarPosition orientation="horizontal" >0</ScrollbarPosition>
       <ViewHeaderState orientation="horizontal" >000000ff00000000000000010000000000000002010000000000000000000000000000000000000307000000040101000100000000000000000000000064ffffffff000000810000000000000004000001f90000000100000000000000440000000100000000000000660000000100000000000000640000000100000000</ViewHeaderState>
       <UserChangedColumnWidths orientation="horizontal" >false</UserChangedColumnWidths>
-      <CurrentItem>C:\Core MPI\CORE_MPI\EX4_FSM.vhd</CurrentItem>
+      <CurrentItem>C:\Core MPI\CORE_MPI\MultiMPITest.ucf</CurrentItem>
    </ItemView>
    <ItemView guiview="Library" >
@@ -412,5 +415,5 @@
       <ScrollbarPosition orientation="vertical" >50</ScrollbarPosition>
       <ScrollbarPosition orientation="horizontal" >0</ScrollbarPosition>
-      <ViewHeaderState orientation="horizontal" >000000ff0000000000000001000000000000000001000000000000000000000000000000000000014b000000010001000100000000000000000000000064ffffffff0000008100000000000000010000014b0000000100000000</ViewHeaderState>
+      <ViewHeaderState orientation="horizontal" >000000ff00000000000000010000000000000000010000000000000000000000000000000000000103000000010001000100000000000000000000000064ffffffff000000810000000000000001000001030000000100000000</ViewHeaderState>
       <UserChangedColumnWidths orientation="horizontal" >false</UserChangedColumnWidths>
       <CurrentItem>C:\Core MPI\CORE_MPI\MultiMPITest.vhd</CurrentItem>
@@ -419,8 +422,8 @@
       <ClosedNodes>
          <ClosedNodesVersion>1</ClosedNodesVersion>
-         <ClosedNode>Design Utilities</ClosedNode>
-      </ClosedNodes>
-      <SelectedItems>
-         <SelectedItem></SelectedItem>
+         <ClosedNode>Design Utilities/Compile HDL Simulation Libraries</ClosedNode>
+      </ClosedNodes>
+      <SelectedItems>
+         <SelectedItem>Design Utilities</SelectedItem>
       </SelectedItems>
       <ScrollbarPosition orientation="vertical" >0</ScrollbarPosition>
@@ -428,5 +431,5 @@
       <ViewHeaderState orientation="horizontal" >000000ff00000000000000010000000100000000000000000000000000000000000000000000000160000000010000000100000000000000000000000064ffffffff000000810000000000000001000001600000000100000000</ViewHeaderState>
       <UserChangedColumnWidths orientation="horizontal" >false</UserChangedColumnWidths>
-      <CurrentItem></CurrentItem>
+      <CurrentItem>Design Utilities</CurrentItem>
    </ItemView>
    <ItemView engineview="BehavioralSim" guiview="Source" compilemode="AutoCompile" >
@@ -442,8 +445,8 @@
          <ClosedNode>/FIFO - TOP_HIER C:|Core MPI|CORE_MPI|FIfo_mem.vhd</ClosedNode>
          <ClosedNode>/Image_Pkg C:|Core MPI|CORE_MPI|image_pkg.vhd</ClosedNode>
-         <ClosedNode>/MPICORETEST - behavior C:|Core MPI|CORE_MPI|MPICORETEST.vhd/uut - MPI_NOC - structural/hardmpi - CORE_MPI - Structural</ClosedNode>
          <ClosedNode>/MPICORETEST - behavior C:|Core MPI|CORE_MPI|MPICORETEST.vhd/uut - MPI_NOC - structural/hardmpi - CORE_MPI - Structural/CORE_SCHEDULER - MPI_CORE_SCHEDULER - Behavioral</ClosedNode>
          <ClosedNode>/MPICORETEST - behavior C:|Core MPI|CORE_MPI|MPICORETEST.vhd/uut - MPI_NOC - structural/hardmpi - CORE_MPI - Structural/Instruction_Fifo1 - FIFO_64_FWFT - Behavioral</ClosedNode>
          <ClosedNode>/MPICORETEST - behavior C:|Core MPI|CORE_MPI|MPICORETEST.vhd/uut - MPI_NOC - structural/hardmpi - CORE_MPI - Structural/Instruction_Fifo2 - FIFO_64_FWFT - Behavioral</ClosedNode>
+         <ClosedNode>/MPICORETEST - behavior C:|Core MPI|CORE_MPI|MPICORETEST.vhd/uut - MPI_NOC - structural/hardmpi - CORE_MPI - Structural/MPI_CORE_EX2_FSM - EX2_FSM - Behavioral</ClosedNode>
          <ClosedNode>/MPICORETEST - behavior C:|Core MPI|CORE_MPI|MPICORETEST.vhd/uut - MPI_NOC - structural/switch_gen1 - SWITCH_GEN - Behavioral</ClosedNode>
          <ClosedNode>/MPI_NOC - structural C:|Core MPI|CORE_MPI|MPI_NOC.vhd</ClosedNode>
@@ -537,11 +540,11 @@
       </ClosedNodes>
       <SelectedItems>
-         <SelectedItem>mpi_test - behavior (C:/Core MPI/CORE_MPI/mpi_test.vhd)</SelectedItem>
-      </SelectedItems>
-      <ScrollbarPosition orientation="vertical" >8</ScrollbarPosition>
-      <ScrollbarPosition orientation="horizontal" >0</ScrollbarPosition>
-      <ViewHeaderState orientation="horizontal" >000000ff000000000000000100000001000000000000000000000000000000000202000000010000000100000064000002f3000000020000000000000000000000000000000064ffffffff000000810000000000000002000002f30000000100000000000000000000000100000000</ViewHeaderState>
-      <UserChangedColumnWidths orientation="horizontal" >false</UserChangedColumnWidths>
-      <CurrentItem>mpi_test - behavior (C:/Core MPI/CORE_MPI/mpi_test.vhd)</CurrentItem>
+         <SelectedItem>Unassigned User Library Modules</SelectedItem>
+      </SelectedItems>
+      <ScrollbarPosition orientation="vertical" >2</ScrollbarPosition>
+      <ScrollbarPosition orientation="horizontal" >0</ScrollbarPosition>
+      <ViewHeaderState orientation="horizontal" >000000ff0000000000000001000000010000000000000000000000000000000002020000000100000001000000640000035b000000020000000000000000000000000000000064ffffffff0000008100000000000000020000035b0000000100000000000000000000000100000000</ViewHeaderState>
+      <UserChangedColumnWidths orientation="horizontal" >false</UserChangedColumnWidths>
+      <CurrentItem>Unassigned User Library Modules</CurrentItem>
    </ItemView>
    <ItemView engineview="BehavioralSim" sourcetype="" guiview="Process" >
@@ -551,5 +554,5 @@
       </ClosedNodes>
       <SelectedItems>
-         <SelectedItem/>
+         <SelectedItem>Update All Schematic Files</SelectedItem>
       </SelectedItems>
       <ScrollbarPosition orientation="vertical" >0</ScrollbarPosition>
@@ -557,5 +560,5 @@
       <ViewHeaderState orientation="horizontal" >000000ff00000000000000010000000100000000000000000000000000000000000000000000000160000000010000000100000000000000000000000064ffffffff000000810000000000000001000001600000000100000000</ViewHeaderState>
       <UserChangedColumnWidths orientation="horizontal" >false</UserChangedColumnWidths>
-      <CurrentItem/>
+      <CurrentItem>Update All Schematic Files</CurrentItem>
    </ItemView>
    <ItemView engineview="BehavioralSim" sourcetype="DESUT_VHDL_ARCHITECTURE" guiview="Process" >
@@ -564,5 +567,5 @@
       </ClosedNodes>
       <SelectedItems>
-         <SelectedItem>ModelSim Simulator</SelectedItem>
+         <SelectedItem></SelectedItem>
       </SelectedItems>
       <ScrollbarPosition orientation="vertical" >0</ScrollbarPosition>
@@ -570,8 +573,8 @@
       <ViewHeaderState orientation="horizontal" >000000ff00000000000000010000000100000000000000000000000000000000000000000000000160000000010000000100000000000000000000000064ffffffff000000810000000000000001000001600000000100000000</ViewHeaderState>
       <UserChangedColumnWidths orientation="horizontal" >false</UserChangedColumnWidths>
-      <CurrentItem>ModelSim Simulator</CurrentItem>
+      <CurrentItem></CurrentItem>
    </ItemView>
    <SourceProcessView>000000ff0000000000000002000000d1000000d101000000050100000002</SourceProcessView>
-   <CurrentView>Behavioral Simulation</CurrentView>
+   <CurrentView>Implementation</CurrentView>
    <ItemView engineview="BehavioralSim" sourcetype="DESUT_VHDL_PACKAGE_DECL" guiview="Process" >
       <ClosedNodes>
@@ -762,10 +765,38 @@
          <ClosedNodesVersion>1</ClosedNodesVersion>
       </ClosedNodes>
-      <SelectedItems/>
-      <ScrollbarPosition orientation="vertical" >0</ScrollbarPosition>
-      <ScrollbarPosition orientation="horizontal" >0</ScrollbarPosition>
-      <ViewHeaderState orientation="horizontal" />
-      <UserChangedColumnWidths orientation="horizontal" >false</UserChangedColumnWidths>
-      <CurrentItem/>
+      <SelectedItems>
+         <SelectedItem></SelectedItem>
+      </SelectedItems>
+      <ScrollbarPosition orientation="vertical" >0</ScrollbarPosition>
+      <ScrollbarPosition orientation="horizontal" >0</ScrollbarPosition>
+      <ViewHeaderState orientation="horizontal" >000000ff00000000000000010000000100000000000000000000000000000000000000000000000160000000010000000100000000000000000000000064ffffffff000000810000000000000001000001600000000100000000</ViewHeaderState>
+      <UserChangedColumnWidths orientation="horizontal" >false</UserChangedColumnWidths>
+      <CurrentItem></CurrentItem>
+   </ItemView>
+   <ItemView engineview="SynthesisOnly" sourcetype="DESUT_VHDL_PACKAGE_BODY" guiview="Process" >
+      <ClosedNodes>
+         <ClosedNodesVersion>1</ClosedNodesVersion>
+      </ClosedNodes>
+      <SelectedItems>
+         <SelectedItem></SelectedItem>
+      </SelectedItems>
+      <ScrollbarPosition orientation="vertical" >0</ScrollbarPosition>
+      <ScrollbarPosition orientation="horizontal" >0</ScrollbarPosition>
+      <ViewHeaderState orientation="horizontal" >000000ff00000000000000010000000100000000000000000000000000000000000000000000000160000000010000000100000000000000000000000064ffffffff000000810000000000000001000001600000000100000000</ViewHeaderState>
+      <UserChangedColumnWidths orientation="horizontal" >false</UserChangedColumnWidths>
+      <CurrentItem></CurrentItem>
+   </ItemView>
+   <ItemView engineview="SynthesisOnly" sourcetype="DESUT_VHDL_PACKAGE_DECL" guiview="Process" >
+      <ClosedNodes>
+         <ClosedNodesVersion>1</ClosedNodesVersion>
+      </ClosedNodes>
+      <SelectedItems>
+         <SelectedItem></SelectedItem>
+      </SelectedItems>
+      <ScrollbarPosition orientation="vertical" >0</ScrollbarPosition>
+      <ScrollbarPosition orientation="horizontal" >0</ScrollbarPosition>
+      <ViewHeaderState orientation="horizontal" >000000ff00000000000000010000000100000000000000000000000000000000000000000000000160000000010000000100000000000000000000000064ffffffff000000810000000000000001000001600000000100000000</ViewHeaderState>
+      <UserChangedColumnWidths orientation="horizontal" >false</UserChangedColumnWidths>
+      <CurrentItem></CurrentItem>
    </ItemView>
 </Project>
Index: /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/iseconfig/MultiMPITest.xreport
===================================================================
--- /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/iseconfig/MultiMPITest.xreport	(revision 75)
+++ /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/iseconfig/MultiMPITest.xreport	(revision 76)
@@ -2,15 +2,15 @@
 <report-views version="2.0" >
  <header>
-  <DateModified>2014-01-14T19:54:07</DateModified>
-  <ModuleName>CORE_MPI</ModuleName>
-  <SummaryTimeStamp>2014-01-14T19:51:12</SummaryTimeStamp>
+  <DateModified>2014-01-15T10:32:39</DateModified>
+  <ModuleName>MultiMPITest</ModuleName>
+  <SummaryTimeStamp>2014-01-15T10:32:39</SummaryTimeStamp>
   <SavedFilePath>C:/Core MPI/CORE_MPI/iseconfig/MultiMPITest.xreport</SavedFilePath>
   <ImplementationReportsDirectory>C:/Core MPI/CORE_MPI\</ImplementationReportsDirectory>
-  <DateInitialized>2014-01-14T19:22:02</DateInitialized>
+  <DateInitialized>2014-01-15T10:26:54</DateInitialized>
   <EnableMessageFiltering>false</EnableMessageFiltering>
  </header>
  <body>
   <viewgroup label="Design Overview" >
-   <view inputState="Unknown" program="implementation" ShowPartitionData="false" ExpandConstraints="false" type="FPGASummary" file="CORE_MPI_summary.html" label="Summary" ExpandClockNets="false" ExpandWarnings="true" >
+   <view inputState="Unknown" program="implementation" ShowPartitionData="false" ExpandConstraints="false" type="FPGASummary" file="MultiMPITest_summary.html" label="Summary" ExpandClockNets="false" ExpandWarnings="true" >
     <toc-item title="Design Overview" target="Design Overview" />
     <toc-item title="Design Utilization Summary" target="Design Utilization Summary" />
@@ -25,14 +25,14 @@
     <table-item tableState="ExpandedTable" tableKey="DetailedReports" />
    </view>
-   <view inputState="Unknown" program="implementation" contextTags="FPGA_ONLY" hidden="true" type="HTML" file="CORE_MPI_envsettings.html" label="System Settings" />
-   <view inputState="Translated" program="map" locator="MAP_IOB_TABLE" contextTags="FPGA_ONLY" type="IOBProperties" file="CORE_MPI_map.xrpt" showConstraints="0" label="IOB Properties" />
-   <view inputState="Translated" program="map" contextTags="FPGA_ONLY" hidden="true" type="Control_Sets" file="CORE_MPI_map.xrpt" label="Control Set Information" />
-   <view inputState="Translated" program="map" locator="MAP_MODULE_HIERARCHY" contextTags="FPGA_ONLY" type="Module_Utilization" file="CORE_MPI_map.xrpt" label="Module Level Utilization" />
-   <view inputState="Mapped" program="par" locator="CONSTRAINT_TABLE" contextTags="FPGA_ONLY" type="ConstraintsData" file="CORE_MPI.ptwx" showConstraints="0" label="Timing Constraints" translator="ptwxToTableXML.xslt" />
-   <view inputState="Mapped" program="par" locator="PAR_PINOUT_BY_PIN_NUMBER" contextTags="FPGA_ONLY" type="PinoutData" file="CORE_MPI_par.xrpt" showConstraints="0" label="Pinout Report" />
-   <view inputState="Mapped" program="par" locator="PAR_CLOCK_TABLE" contextTags="FPGA_ONLY" type="ClocksData" file="CORE_MPI_par.xrpt" showConstraints="0" label="Clock Report" />
-   <view inputState="Mapped" program="par" contextTags="FPGA_ONLY,EDK_OFF" type="Timing_Analyzer" file="CORE_MPI.twx" label="Static Timing" />
-   <view inputState="Translated" program="cpldfit" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="EXTERNAL_HTML" file="CORE_MPI_html/fit/report.htm" label="CPLD Fitter Report" />
-   <view inputState="Fitted" program="taengine" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="EXTERNAL_HTML" file="CORE_MPI_html/tim/report.htm" label="CPLD Timing Report" />
+   <view inputState="Unknown" program="implementation" contextTags="FPGA_ONLY" hidden="true" type="HTML" file="MultiMPITest_envsettings.html" label="System Settings" />
+   <view inputState="Translated" program="map" locator="MAP_IOB_TABLE" contextTags="FPGA_ONLY" type="IOBProperties" file="MultiMPITest_map.xrpt" showConstraints="0" label="IOB Properties" />
+   <view inputState="Translated" program="map" contextTags="FPGA_ONLY" hidden="true" type="Control_Sets" file="MultiMPITest_map.xrpt" label="Control Set Information" />
+   <view inputState="Translated" program="map" locator="MAP_MODULE_HIERARCHY" contextTags="FPGA_ONLY" type="Module_Utilization" file="MultiMPITest_map.xrpt" label="Module Level Utilization" />
+   <view inputState="Mapped" program="par" locator="CONSTRAINT_TABLE" contextTags="FPGA_ONLY" type="ConstraintsData" file="MultiMPITest.ptwx" showConstraints="0" label="Timing Constraints" translator="ptwxToTableXML.xslt" />
+   <view inputState="Mapped" program="par" locator="PAR_PINOUT_BY_PIN_NUMBER" contextTags="FPGA_ONLY" type="PinoutData" file="MultiMPITest_par.xrpt" showConstraints="0" label="Pinout Report" />
+   <view inputState="Mapped" program="par" locator="PAR_CLOCK_TABLE" contextTags="FPGA_ONLY" type="ClocksData" file="MultiMPITest_par.xrpt" showConstraints="0" label="Clock Report" />
+   <view inputState="Mapped" program="par" contextTags="FPGA_ONLY,EDK_OFF" type="Timing_Analyzer" file="MultiMPITest.twx" label="Static Timing" />
+   <view inputState="Translated" program="cpldfit" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="EXTERNAL_HTML" file="MultiMPITest_html/fit/report.htm" label="CPLD Fitter Report" />
+   <view inputState="Fitted" program="taengine" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="EXTERNAL_HTML" file="MultiMPITest_html/tim/report.htm" label="CPLD Timing Report" />
   </viewgroup>
   <viewgroup label="XPS Errors and Warnings" >
@@ -47,5 +47,5 @@
    <view inputState="PreSynthesized" program="simgen" contextTags="EDK_ON" hidden="true" type="Secondary_Report" file="simgen.log" label="Simgen Log File" />
    <view inputState="PreSynthesized" program="bitinit" contextTags="EDK_ON" hidden="true" type="Secondary_Report" file="bitinit.log" label="BitInit Log File" />
-   <view inputState="PreSynthesized" program="system" contextTags="EDK_ON" hidden="true" type="Secondary_Report" file="CORE_MPI.log" label="System Log File" />
+   <view inputState="PreSynthesized" program="system" contextTags="EDK_ON" hidden="true" type="Secondary_Report" file="MultiMPITest.log" label="System Log File" />
   </viewgroup>
   <viewgroup label="Errors and Warnings" >
@@ -63,5 +63,5 @@
   </viewgroup>
   <viewgroup label="Detailed Reports" >
-   <view program="xst" contextTags="XST_ONLY,EDK_OFF" hidden="false" type="Report" file="CORE_MPI.syr" label="Synthesis Report" >
+   <view program="xst" contextTags="XST_ONLY,EDK_OFF" hidden="false" type="Report" file="MultiMPITest.syr" label="Synthesis Report" >
     <toc-item title="Top of Report" target="Copyright " searchDir="Forward" />
     <toc-item title="Synthesis Options Summary" target="   Synthesis Options Summary   " />
@@ -89,7 +89,7 @@
     <toc-item title="Cross Clock Domains Report" target="Cross Clock Domains Report:" subItemLevel="2" />
    </view>
-   <view program="synplify" contextTags="SYNPLIFY_ONLY,EDK_OFF" hidden="true" type="Report" file="CORE_MPI.srr" label="Synplify Report" />
-   <view program="precision" contextTags="PRECISION_ONLY,EDK_OFF" hidden="true" type="Report" file="CORE_MPI.prec_log" label="Precision Report" />
-   <view inputState="Synthesized" program="ngdbuild" type="Report" file="CORE_MPI.bld" label="Translation Report" >
+   <view program="synplify" contextTags="SYNPLIFY_ONLY,EDK_OFF" hidden="true" type="Report" file="MultiMPITest.srr" label="Synplify Report" />
+   <view program="precision" contextTags="PRECISION_ONLY,EDK_OFF" hidden="true" type="Report" file="MultiMPITest.prec_log" label="Precision Report" />
+   <view inputState="Synthesized" program="ngdbuild" type="Report" file="MultiMPITest.bld" label="Translation Report" >
     <toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
     <toc-item title="Command Line" target="Command Line:" />
@@ -97,5 +97,5 @@
     <toc-item title="Final Summary" target="NGDBUILD Design Results Summary:" />
    </view>
-   <view inputState="Translated" program="map" contextTags="FPGA_ONLY" type="Report" file="CORE_MPI_map.mrp" label="Map Report" >
+   <view inputState="Translated" program="map" contextTags="FPGA_ONLY" type="Report" file="MultiMPITest_map.mrp" label="Map Report" >
     <toc-item title="Top of Report" target="Release" searchDir="Forward" />
     <toc-item title="Section 1: Errors" target="Section 1 -" searchDir="Backward" />
@@ -113,5 +113,5 @@
     <toc-item title="Section 13: Utilization by Hierarchy" target="Section 13 -" searchDir="Backward" />
    </view>
-   <view inputState="Mapped" program="par" contextTags="FPGA_ONLY" type="Report" file="CORE_MPI.par" label="Place and Route Report" >
+   <view inputState="Mapped" program="par" contextTags="FPGA_ONLY" type="Report" file="MultiMPITest.par" label="Place and Route Report" >
     <toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
     <toc-item title="Device Utilization" target="Device Utilization Summary:" />
@@ -122,5 +122,5 @@
     <toc-item title="Final Summary" target="Peak Memory Usage:" />
    </view>
-   <view inputState="Routed" program="trce" contextTags="FPGA_ONLY" type="Report" file="CORE_MPI.twr" label="Post-PAR Static Timing Report" >
+   <view inputState="Routed" program="trce" contextTags="FPGA_ONLY" type="Report" file="MultiMPITest.twr" label="Post-PAR Static Timing Report" >
     <toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
     <toc-item title="Timing Report Description" target="Device,package,speed:" />
@@ -133,5 +133,5 @@
     <toc-item title="Trace Settings" target="Trace Settings:" />
    </view>
-   <view inputState="Translated" program="cpldfit" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="Report" file="CORE_MPI.rpt" label="CPLD Fitter Report (Text)" >
+   <view inputState="Translated" program="cpldfit" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="Report" file="MultiMPITest.rpt" label="CPLD Fitter Report (Text)" >
     <toc-item title="Top of Report" target="cpldfit:" searchDir="Forward" />
     <toc-item title="Resources Summary" target="**  Mapped Resource Summary  **" />
@@ -139,14 +139,14 @@
     <toc-item title="Global Resources" target="** Global Control Resources **" />
    </view>
-   <view inputState="Fitted" program="taengine" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="Report" file="CORE_MPI.tim" label="CPLD Timing Report (Text)" >
+   <view inputState="Fitted" program="taengine" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="Report" file="MultiMPITest.tim" label="CPLD Timing Report (Text)" >
     <toc-item title="Top of Report" target="Performance Summary Report" searchDir="Forward" />
     <toc-item title="Performance Summary" target="Performance Summary:" />
    </view>
-   <view inputState="Routed" program="xpwr" contextTags="EDK_OFF" type="Report" file="CORE_MPI.pwr" label="Power Report" >
+   <view inputState="Routed" program="xpwr" contextTags="EDK_OFF" type="Report" file="MultiMPITest.pwr" label="Power Report" >
     <toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
     <toc-item title="Power summary" target="Power summary" />
     <toc-item title="Thermal summary" target="Thermal summary" />
    </view>
-   <view inputState="Routed" program="bitgen" contextTags="FPGA_ONLY" type="Report" file="CORE_MPI.bgn" label="Bitgen Report" >
+   <view inputState="Routed" program="bitgen" contextTags="FPGA_ONLY" type="Report" file="MultiMPITest.bgn" label="Bitgen Report" >
     <toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
     <toc-item title="Bitgen Options" target="Summary of Bitgen Options:" />
@@ -156,12 +156,12 @@
   <viewgroup label="Secondary Reports" >
    <view inputState="PreSynthesized" program="isim" hidden="if_missing" type="Secondary_Report" file="isim.log" label="ISIM Simulator Log" />
-   <view inputState="Synthesized" program="netgen" hidden="if_missing" type="Secondary_Report" file="netgen/synthesis/CORE_MPI_synthesis.nlf" label="Post-Synthesis Simulation Model Report" >
-    <toc-item title="Top of Report" target="Release" searchDir="Forward" />
-   </view>
-   <view inputState="Translated" program="netgen" hidden="if_missing" type="Secondary_Report" file="netgen/translate/CORE_MPI_translate.nlf" label="Post-Translate Simulation Model Report" >
-    <toc-item title="Top of Report" target="Release" searchDir="Forward" />
-   </view>
-   <view inputState="Translated" program="netgen" hidden="if_missing" type="Secondary_Report" file="CORE_MPI_tran_fecn.nlf" label="Post-Translate Formality Netlist Report" />
-   <view inputState="Translated" program="map" contextTags="FPGA_ONLY" hidden="true" type="Secondary_Report" file="CORE_MPI_map.map" label="Map Log File" >
+   <view inputState="Synthesized" program="netgen" hidden="if_missing" type="Secondary_Report" file="netgen/synthesis/MultiMPITest_synthesis.nlf" label="Post-Synthesis Simulation Model Report" >
+    <toc-item title="Top of Report" target="Release" searchDir="Forward" />
+   </view>
+   <view inputState="Translated" program="netgen" hidden="if_missing" type="Secondary_Report" file="netgen/translate/MultiMPITest_translate.nlf" label="Post-Translate Simulation Model Report" >
+    <toc-item title="Top of Report" target="Release" searchDir="Forward" />
+   </view>
+   <view inputState="Translated" program="netgen" hidden="if_missing" type="Secondary_Report" file="MultiMPITest_tran_fecn.nlf" label="Post-Translate Formality Netlist Report" />
+   <view inputState="Translated" program="map" contextTags="FPGA_ONLY" hidden="true" type="Secondary_Report" file="MultiMPITest_map.map" label="Map Log File" >
     <toc-item title="Top of Report" target="Release" searchDir="Forward" />
     <toc-item title="Design Information" target="Design Information" />
@@ -169,5 +169,5 @@
    </view>
    <view inputState="Routed" program="smartxplorer" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="smartxplorer_results/smartxplorer.txt" label="SmartXplorer Report" />
-   <view inputState="Mapped" program="trce" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="CORE_MPI_preroute.twr" label="Post-Map Static Timing Report" >
+   <view inputState="Mapped" program="trce" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="MultiMPITest_preroute.twr" label="Post-Map Static Timing Report" >
     <toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
     <toc-item title="Timing Report Description" target="Device,package,speed:" />
@@ -180,41 +180,41 @@
     <toc-item title="Trace Settings" target="Trace Settings:" />
    </view>
-   <view inputState="Mapped" program="netgen" hidden="if_missing" type="Secondary_Report" file="netgen/map/CORE_MPI_map.nlf" label="Post-Map Simulation Model Report" />
-   <view inputState="Mapped" program="map" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="CORE_MPI_map.psr" label="Physical Synthesis Report" >
-    <toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
-   </view>
-   <view inputState="Mapped" program="par" contextTags="FPGA_ONLY" hidden="true" type="Pad_Report" file="CORE_MPI_pad.txt" label="Pad Report" >
-    <toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
-   </view>
-   <view inputState="Mapped" program="par" contextTags="FPGA_ONLY" hidden="true" type="Secondary_Report" file="CORE_MPI.unroutes" label="Unroutes Report" >
-    <toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
-   </view>
-   <view inputState="Mapped" program="map" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="CORE_MPI_preroute.tsi" label="Post-Map Constraints Interaction Report" >
-    <toc-item title="Top of Report" target="Release" searchDir="Forward" />
-   </view>
-   <view inputState="Mapped" program="par" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="CORE_MPI.grf" label="Guide Results Report" />
-   <view inputState="Routed" program="par" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="CORE_MPI.dly" label="Asynchronous Delay Report" />
-   <view inputState="Routed" program="par" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="CORE_MPI.clk_rgn" label="Clock Region Report" />
-   <view inputState="Routed" program="par" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="CORE_MPI.tsi" label="Post-Place and Route Constraints Interaction Report" >
-    <toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
-   </view>
-   <view inputState="Routed" program="netgen" hidden="if_missing" type="Secondary_Report" file="CORE_MPI_par_fecn.nlf" label="Post-Place and Route Formality Netlist Report" />
-   <view inputState="Routed" program="netgen" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="netgen/par/CORE_MPI_timesim.nlf" label="Post-Place and Route Simulation Model Report" />
-   <view inputState="Routed" program="netgen" hidden="if_missing" type="Secondary_Report" file="CORE_MPI_sta.nlf" label="Primetime Netlist Report" >
-    <toc-item title="Top of Report" target="Release" searchDir="Forward" />
-   </view>
-   <view inputState="Routed" program="ibiswriter" hidden="if_missing" type="Secondary_Report" file="CORE_MPI.ibs" label="IBIS Model" >
+   <view inputState="Mapped" program="netgen" hidden="if_missing" type="Secondary_Report" file="netgen/map/MultiMPITest_map.nlf" label="Post-Map Simulation Model Report" />
+   <view inputState="Mapped" program="map" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="MultiMPITest_map.psr" label="Physical Synthesis Report" >
+    <toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
+   </view>
+   <view inputState="Mapped" program="par" contextTags="FPGA_ONLY" hidden="true" type="Pad_Report" file="MultiMPITest_pad.txt" label="Pad Report" >
+    <toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
+   </view>
+   <view inputState="Mapped" program="par" contextTags="FPGA_ONLY" hidden="true" type="Secondary_Report" file="MultiMPITest.unroutes" label="Unroutes Report" >
+    <toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
+   </view>
+   <view inputState="Mapped" program="map" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="MultiMPITest_preroute.tsi" label="Post-Map Constraints Interaction Report" >
+    <toc-item title="Top of Report" target="Release" searchDir="Forward" />
+   </view>
+   <view inputState="Mapped" program="par" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="MultiMPITest.grf" label="Guide Results Report" />
+   <view inputState="Routed" program="par" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="MultiMPITest.dly" label="Asynchronous Delay Report" />
+   <view inputState="Routed" program="par" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="MultiMPITest.clk_rgn" label="Clock Region Report" />
+   <view inputState="Routed" program="par" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="MultiMPITest.tsi" label="Post-Place and Route Constraints Interaction Report" >
+    <toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
+   </view>
+   <view inputState="Routed" program="netgen" hidden="if_missing" type="Secondary_Report" file="MultiMPITest_par_fecn.nlf" label="Post-Place and Route Formality Netlist Report" />
+   <view inputState="Routed" program="netgen" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="netgen/par/MultiMPITest_timesim.nlf" label="Post-Place and Route Simulation Model Report" />
+   <view inputState="Routed" program="netgen" hidden="if_missing" type="Secondary_Report" file="MultiMPITest_sta.nlf" label="Primetime Netlist Report" >
+    <toc-item title="Top of Report" target="Release" searchDir="Forward" />
+   </view>
+   <view inputState="Routed" program="ibiswriter" hidden="if_missing" type="Secondary_Report" file="MultiMPITest.ibs" label="IBIS Model" >
     <toc-item title="Top of Report" target="IBIS Models for" searchDir="Forward" />
     <toc-item title="Component" target="Component " />
    </view>
-   <view inputState="Routed" program="pin2ucf" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="CORE_MPI.lck" label="Back-annotate Pin Report" >
+   <view inputState="Routed" program="pin2ucf" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="MultiMPITest.lck" label="Back-annotate Pin Report" >
     <toc-item title="Top of Report" target="pin2ucf Report File" searchDir="Forward" />
     <toc-item title="Constraint Conflicts Information" target="Constraint Conflicts Information" />
    </view>
-   <view inputState="Routed" program="pin2ucf" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="CORE_MPI.lpc" label="Locked Pin Constraints" >
+   <view inputState="Routed" program="pin2ucf" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="MultiMPITest.lpc" label="Locked Pin Constraints" >
     <toc-item title="Top of Report" target="top.lpc" searchDir="Forward" />
     <toc-item title="Newly Added Constraints" target="The following constraints were newly added" />
    </view>
-   <view inputState="Translated" program="netgen" contextTags="CPLD_ONLY,EDK_OFF" hidden="if_missing" type="Secondary_Report" file="netgen/fit/CORE_MPI_timesim.nlf" label="Post-Fit Simulation Model Report" />
+   <view inputState="Translated" program="netgen" contextTags="CPLD_ONLY,EDK_OFF" hidden="if_missing" type="Secondary_Report" file="netgen/fit/MultiMPITest_timesim.nlf" label="Post-Fit Simulation Model Report" />
    <view inputState="Routed" program="bitgen" contextTags="FPGA_ONLY" hidden="if_missing" type="HTML" file="usage_statistics_webtalk.html" label="WebTalk Report" />
    <view inputState="Routed" program="bitgen" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="webtalk.log" label="WebTalk Log File" />
Index: /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/templates/Mpi_hcl_process_template.vhd
===================================================================
--- /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/templates/Mpi_hcl_process_template.vhd	(revision 76)
+++ /PROJECT_CORE_MPI/CORE_MPI/BRANCHES/v1.00/templates/Mpi_hcl_process_template.vhd	(revision 76)
@@ -0,0 +1,215 @@
+entity HT_process is
+generic (Task_id : natural:=0);
+Port ( clk : in  STD_LOGIC;
+reset : in  STD_LOGIC;
+  en : in std_logic; -- active la tâche
+Interf_i : in  core_i; --signaux pour l'interface IO
+  Interf_o : out  core_o; --signaux pour l'interface IO
+mem_o : out typ_dpram_o; -- signaux pour l'accès à la mémoire
+  mem_i : in typ_dpram_i -- signaux pour l'accès à la mémoire
+  );
+end HT_process;
+
+architecture Behavioral of HT_process is
+
+  type typ_mae is (start,Fillmem,NextFill,InitApp,GetRank,WInCreate,WinPost,WinStart,
+  putdata,getdata,WinWait,WinCompleted,MpiSpawn,finalize,st_timeout);
+	signal sram : typ_dpram;
+	signal MyGroup:mpi_group;
+	signal MyWin : mpi_win;
+	signal MyRank :std_logic_vector(3 downto 0);
+	signal intercomm,array_of_errcodes : natural;
+signal Libr : Core_io;  --regroupe tous les signaux IO de la bibliothèque
+signal RunState : typ_mae;
+
+begin
+
+--MAE du PE
+--=======================================================================
+-- Interf<=Libr;
+
+
+ pPutGet:process(clk,reset,en)
+ 
+
+variable destrank : natural range 0 to 15;
+variable timeout,ct,dlen,dcount : natural range 0 to 255;
+variable SrcAdr,DestAdr : std_logic_vector(ADRLEN-1 downto 0);
+variable mywin : Mpi_win;
+variable command , argv , maxprocs , info , root : natural:=0; --variable pour le spawn 
+variable  adresse,adresse_rd :natural range 0 to 65536;
+
+begin
+        
+if (clk'event and clk='1') and en='1' then 
+	
+	
+if reset='1' then
+--set the default signals values
+		
+		Libr.O.MemBusy<='0';
+		Libr.O.Instr_En<='0';
+		sram.O.we<='0';
+		sram.O.ena<='0';
+		sram.O.enb<='0';
+		RunState<=start; --jump to the first state of the FSM
+else
+	--==========================================================
+	--affectation des entrées sorties mémoires
+	--These signals binding must remain unchanged for proper functionning of the template !
+	sram.i.data_out<=mem_I.data_out;
+	mem_o.addr_wr<=sram.O.addr_wr;
+	mem_o.addr_rd<=sram.O.addr_rd ; 
+	mem_o.we<=sram.O.we;
+	mem_o.ena<=sram.O.ena;
+	mem_o.enb<=sram.O.enb;
+	mem_o.data_in<=sram.O.data_in;
+	--affectation des entrées sorties MPI_HCL
+	Interf_o.Instr_EN<=Libr.O.instr_en;
+	Interf_o.Membusy<=Libr.O.MemBusy;
+	Interf_o.Instruction<=Libr.O.Instruction;
+	Libr.i.Instr_ack<=Interf_i.Instr_ack;
+	Libr.i.InitOk<=Interf_i.InitOk;
+	Libr.i.Hold_Req<=Interf_i.Hold_req;
+	Libr.i.RamSel<=Interf_i.RamSel;
+	--============================================================
+	
+	case  RunState is
+	when start =>
+		adresse:=10;dcount:=0;
+		RunState<=Fillmem;
+	 when Fillmem => --this state demonstrate a simple example task that writes data in the communication RAM
+			sram.O.we<='1'; --enables writting
+			sram.O.ena<='1'; 
+			sram.O.enb<='0'; --disable reading on port B
+		if Libr.I.Ramsel='0' then 	--test if the RAM is free
+			sram.O.addr_wr<=std_logic_vector(to_unsigned(adresse,ADRLEN));
+			sram.O.data_in<=std_logic_vector(to_unsigned(dcount,8)); -- x"0f";
+			Libr.O.MemBusy<='1'; --prevent the MPI-HCL to gain control on the RAM
+			dcount:=dcount+1;
+			
+			if dcount=250 then
+				  RunState<=InitApp;
+				Libr.O.MemBusy<='0'; --release the RAM access
+			else
+				adresse:=adresse+1;
+				RunState<=Fillmem;
+			end if;
+	else -- attente de la libéraion de la mémoire /waiting for Ram to be free
+			timeout:=timeout+1;
+			  if timeout=200 then
+				report "The RAM is been busy for too long!!!";
+				timeout:=0;
+			  end if;
+					
+	end if;
+
+when InitApp =>
+		dlen:=15;
+
+		pMPI_Init(ct,Libr,Clk,SRam);
+
+		if ct=0 then 
+			RunState<=GetRank;
+		end if;
+
+when GetRank =>
+
+	pMPI_Comm_rank(ct,Libr,sram,MPI_COMM_WORLD,MyRank);
+
+	if ct=0 then
+		RunState<=WinCreate;
+
+	end if;
+
+when Wincreate => --ici nous personalisons les HT en fonction de leur rang
+--we use this state to fix  HT parameters in regard of thier rank
+case MyRank is
+when x"0"=>
+  Mygroup.grp<=x"0000";-- No rank in this group  ==> No Win_Post
+  MyGroup.nb<=2;
+  destRank:=1;
+when x"1" =>
+  Mygroup.grp<=x"000A";--  rank 1 and 3 in this group
+  destRank:=0;        -- not use by this HT instance 
+  DestAdr:=X"043F";
+when x"2" =>
+  Mygroup.grp<=x"0000";-- no rank in this group
+  destRank:=1;
+  DestAdr:=X"044F";
+when x"3" =>
+  Mygroup.grp<=x"0004";-- rank 2 in this group
+  destRank:=0;		-- not use by this HT instance 
+  DestAdr:=X"045F";
+when others =>
+  Mygroup.grp<=x"0000";
+  destRank:=0;
+end case;
+		 RunState<=WinPost;
+when WinPost =>
+	
+	pMPI_Win_Post(ct,Libr,sram,MyGroup,0,MyWin);
+	if ct=0 then
+	RunState<=WinStart;
+
+	end if;
+	
+when WinStart =>
+	pMPI_Win_start(ct,Libr,sram,MyGroup,0,MyWin);
+
+	if ct=0 then
+		RunState<=PutData;
+	end if;
+when putdata => --construire le packet pour le Put
+
+	SrcAdr:=X"000A"; 
+	pMPI_put(ct,Libr,Clk,Sram,SrcAdr,Dlen,MPI_int,destrank,DestAdr,Dlen,Mpi_int,Default_win);	
+	if ct=0 then
+		RunState<=GetData;
+	end if;
+	
+	
+when getdata =>  				
+	SrcAdr:=X"006D";
+	destrank:=3;
+	if unsigned(MyRank) = 2 then 
+		pMPI_GET(ct,Libr,Clk,Sram,SrcAdr,Dlen,MPI_int,destrank,DestAdr,Dlen,Mpi_int,Default_win);
+	end if;
+
+	if ct=0 then
+	  
+		RunState<=wincompleted;
+
+	end if;
+
+when WinCompleted =>
+
+	 pMPI_Win_Complete(ct,Libr,sram,MyWin );					
+	if ct=0 then
+		RunState<=WinWait;	
+		
+	end if;	  
+when WinWait =>
+	
+	 pMPI_Win_wait(ct,Libr,sram,MyWin );
+
+	if ct=0 then
+		RunState<=Finalize;	
+	end if;	  
+
+when finalize =>
+
+		if ct=0 then
+			RunState<=start;	
+			
+		end if;	 
+when others =>
+	RunState<=start;
+end case;
+
+end if;
+end if;
+
+  end process pPutGet;	
+
+end Behavioral;
