Advertisement
kernel_memory_dump

Untitled

Jan 19th, 2014
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 1.94 KB | None | 0 0
  1. --++Svaka instrukcija se izvršava u tri takta,
  2. --------------------------------------------------------------------------
  3. zbog toga što procesor ima tri registarska stepena  –  
  4.            u prvom taktu se    upisuju operandi u registre A i B,
  5.             u drugom taktu se računa operacija i rezultat upisuje u registar C,
  6.             a u trećem  taktu se rezultat iz C smešta u jedan od registara opšte namene.
  7.  
  8.             Dakle,  svaka instrukcija koju budete realizovali
  9. treba biti realizovana u tri stanja automata,
  10. po jedan za svaki od ovih koraka.
  11. Dakle, vaš automat treba da ima bar
  12. 9 stanja, a funkcija prelaza je jednostavna, linearno se prelazi od početnog do krajnjeg stanja.
  13. -----------------------------------------------------------
  14. ====================================================
  15.  
  16.  
  17. R1 +  R2 - > R3
  18. process (iCLK, inRST) begin
  19. if iCLK, nrst
  20.     if (inrsta)
  21.      trenutnStanje <= STANJE1_UCITAJ_R1_R2_U_A_I_B;
  22.    if(clk='1'
  23.  trenutnoStanje <= SledeceStanje
  24.  
  25. ==================
  26.  
  27.  
  28. process (sTrenutnoStanje)
  29. Case is
  30. When STANJE1_UCITAJ_R1_R2_U_A_I_B =>
  31.       sWE_A = '1';
  32.       sWE_B = '1';
  33.       sMUX_SEl_A <= "0001";
  34.       sMUX_SEL_B <= "0010";
  35.       sWE_C <= '0';
  36.       sALU_SEL <= "000000001"
  37.       oREG_WE <="0000000";
  38.       sledeceStanje <= SABERI_A_I_B_UPISI_U_C;
  39. when  SABERI_A_I_B_UPISI_U_C =>
  40.       sWE_A = '0';
  41.       sWE_B = '0';
  42.       sMUX_SEl_A <= "0000";
  43.       sMUX_SEL_B <= "0000";
  44.       sWE_C <='1';
  45.       ALU <= "1001"; -- saberi
  46.       sledecenjeStanje <= USPISI_REZ_IZ_C_u_NEKI_R3;
  47.  
  48. when USPISI_REZ_IZ_C_u_NEKI_R3 =>
  49.      sWE_A = '0'
  50.      sWE_B = '0'
  51.      sMUX_SEL_A <= "0000";
  52.      sMUX_SEL_B <= "0000";
  53.      ALU <= "000001"
  54.      sREG_WE <= "0001000"; -- upisi u R3
  55.      slecestanje <= UPSISI_A_I_B_2;
  56.  
  57. WHEN UPSISI_A_I_B_2 =>
  58.    
  59.    
  60.    when ODUZMI_A_OD_
  61.    When USPISI_REZ_iz_C_u NEki_Reg4
  62.    
  63.    WHEN UPSISI_A_I_B_2 =>
  64.    
  65.    
  66.    when ODUZMI_A_OD_
  67.    When USPISI_REZ_iz_C_u NEki_Reg4
  68.      
  69.      
  70.      
  71.  
  72.      
  73.      
  74.      
  75.      
  76.       iWE_A <= sWE_A;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement