Difference between revisions of "LU-DIP-B:KP1"

From DiLab
Jump to: navigation, search
Line 78: Line 78:
=== Kursa projekts #1 - 4.posms ===
=== Kursa projekts #1 - 4.posms ===
* Integrācija - [http://books.google.lv/books?id=1lD9LZRcIZ8C 5.4]
* Integrācija - [http://books.google.lv/books?id=1lD9LZRcIZ8C 5.4]
** [http://jupiter.cs.fmf.lu.lv/~kursi/dip/DataPath.1.00.gif Šeit] iespējams apskatīt ''DataPath'' BEZ Jump instrukcijas realizācijas
** [http://jupiter.cs.fmf.lu.lv/~kursi/dip/DataPath.1.01.gif Šeit] iespējams apskatīt ''DataPath'' AR Jump instrukcijas realizāciju (pievērst uzmanību neprecizitātei attēla labajā augšējā stūrī)
** [http://jupiter.cs.fmf.lu.lv/~kursi/dip/IMSIM.1.00.zip Šeit] iespējams apskatīt instrukciju atmiņas simulatoru
** [http://jupiter.cs.fmf.lu.lv/~kursi/dip/IMSIM.1.00.zip Šeit] iespējams apskatīt instrukciju atmiņas simulatoru
** Papildus nosacījumi:
*** Reģistru faila reģistrā #0 vienmēr atrodas vērtība 0
*** Reģistru faila reģistrā #1 vienmēr atrodas vērtība 1
*** Datu atmiņas adreses #28 biti(7:0) pievienoti LED(7:0)
*** PC reģistrā iespējams ierakstīt vērtību 0, nospiežot pogu ROT_CENTER
* Pārbaude
* Pārbaude
** Shēmai jabūt spējīgai iziet visas 3 izstrādes fāzes (drīkst būt Warning'i, nedrīkst būt Error'i):
*** ''Synthesize''
*** ''Implement Design''
*** ''Generate Programming File''
** Ja nepieciešams (ISE konstatē iekārtas resursu nepietiekamību), datu atmiņas apjomu var samazināt līdz 64 adresēm
* Lejupielāde uz Xilinx Spartan 3E platformas
* Lejupielāde uz Xilinx Spartan 3E platformas
* Testēšana ar kontrolpiemēriem
* Testēšana ar kontrolpiemēriem
** [http://jupiter.cs.fmf.lu.lv/~kursi/dip/Instrukcijas.1.00.pdf Šeit] iespējams apskatīt programmas sastādīšanai pieejamās instrukcijas
** [http://jupiter.cs.fmf.lu.lv/~kursi/dip/Programma.1.00.pdf Šeit] iespējams apskatīt programmas paraugu (paldies Jānim T. un Jānim B.)
** Piezīmes:
*** Instrukcijas NOR iekļaušana testa programmā nav obligāta (tas saistīts ar moduļa ''ALU control'' realizācijas atspoguļojumu grāmatā)
*** Iespējams, ka programmas paraugu vēl būs nepieciešams modificēt (ir versija, ka shēma var nekorekti izpildīt viena un tā paša reģistra lasīšanu un rakstīšanu vienā programmas darbības solī)

Revision as of 19:41, 4 December 2008

Kursa projekts #1 - vientakts procesora projektēšana

  • Kursa projektu studenti veic grupās (1 grupa = 2 studenti).
  • Sadalīšanos grupās studenti organizē paši pēc brīvprātības principa.
  • Individuāls darbs pie kursa projekta nav paredzēts.
  • Kursa projekta izpilde var tikt veikta gan praktisko darbu laikā, izmantojot LU datorresursus, gan citā laikā, izmantojot citus studentiem pieejamos datorresursus.
  • Kursa projekts ir sadalīts 4 secīgos posmos.
  • Posma laikā veicamo darbu sadalījumu grupas ietvaros studenti organizē paši pēc brīvprātības principa.
  • Uzsākt nākošo posmu grupa var tikai tad, kad ir veiksmīgi nokārtojusi ieskaiti par iepriekšējā posmā paveikto.
  • Lai nokārtotu ieskaiti, ir jābūt izpildītiem sekojošiem nosacījumiem:
    • līdz kārtējās lekcijas sākumam uz e-pasta adresēm, kas ir minētas sadaļā Mājas darbu noformēšana un iesniegšana, ir iesūtīts saarhivēts ISE projekts;
    • kārtējo praktisko darbu laikā ir atrādīts ISE projekts, kurā ar testpiemēriem tiek prezentēta izveidotā funkcionalitāte;
    • ir jābūt skaidram, kāds ir katra studenta ieguldījums paveiktajā;
    • ir jābūt skaidram, ka katram studentam ir izpratne gan par savu, gan par kolēģa paveikto.

Kursa projekts #1 - 1.posms

ALU n. [Arthritic Logic Unit or (rare) Arithmetic Logic Unit]
A random-number generator supplied as standard with all computer systems.
Stan Kelly-Bootle, The Devil’s DP Dictionary, 1981

  • Aritmētiski loģiskais bloks (ALU) - 5.4, B.5, B.6
    • ieejas signāli A(31:0), B(31:0), OPCODE(3:0)
    • izejas signāli RESULT(31:0), ZERO, OVERFLOW, CarryOut
    • operācijas AND(0000), OR(0001), ADD(0010), SUB(0110), SLT(0111), NOR(1100)
  • Summators (Adder) - 5.3, B.6
    • ieejas signāli A(31:0), B(31:0)
    • izejas signāli RESULT(31:0), OVERFLOW, CarryOut
  • Reģistru fails (Register file) - 5.3, B.8
    • ieejas signāli ReadRegister1(4:0), ReadRegister2(4:0), WriteRegister(4:0), WriteData(31:0), RegWrite
    • izejas signāli ReadData1(31:0), ReadData2(31:0)
  • Multipleksors (MUX) - B.3
    • ieejas signāli A(31:0), B(31:0), Select
    • izejas signāli C(31:0)
  • Iesūtīšanas termiņš 17.10.2008 10:30
  • Atrādīšanas termiņš 17.10.2008 14:10

Kursa projekts #1 - 2.posms

MEMORY n.
Something that is remembered ("search as he would, the memory was lost")
The cognitive processes whereby past experience is remembered ("he can do it from memory"; "he enjoyed remembering his father")
The power of retaining and recalling past experience ("he had a good memory when he was younger")
An electronic memory device ("a memory and the CPU form the central part of a computer to which peripherals are attached")
The area of cognitive psychology that studies memory processes ("he taught a graduate course on learning and memory")
WordNet 3.0 © Princeton University 2006

  • Instrukciju atmiņa (Instruction memory) - 5.3, B.8, B.9
    • ieejas signāli ReadAddress(31:0)
    • izejas signāli Instruction(31:0)
  • PC reģistrs (Program counter) - 5.3, B.8
    • ieejas signāli WriteData(31:0)
    • izejas signāli ReadData(31:0)
  • Zīmes paplašināšana (Sign-extension) - 5.3
    • ieejas signāli Input(15:0)
    • izejas signāli Result(31:0)
  • Nobīde pa kreisi (Shift-left 2 32IN-32OUT) - 5.3
    • ieejas signāli Input(31:0)
    • izejas signāli Result(31:0)
  • Iesūtīšanas termiņš 24.10.2008 10:30
  • Atrādīšanas termiņš 24.10.2008 14:10

Kursa projekts #1 - 3.posms

Control is an Illusion
Mark Horstman, Law #4

  • Datu atmiņa (Data memory) - 5.3, B.8, B.9
    • ieejas signāli Address(31:0), WriteData(31:0), MemWrite, MemRead
    • izejas signāli ReadData(31:0)
  • Aritmētiski loģiskā bloka kontrole (ALU control) - 5.4, C.2
    • ieejas signāli ALUOp(1:0), Function(5:0)
    • izejas signāli OPCODE(3:0)
  • Kontrole (Control) - 5.4, C.2, C.3
    • ieejas signāli Op(5:0)
    • izejas signāli RegDst, Jump, Branch, MemRead, MemToReg, ALUOp(1:0), MemWrite, ALUSrc, RegWrite
  • Nobīde pa kreisi (Shift-left 2 26IN-28OUT) - 5.4
    • ieejas signāli Input(25:0)
    • izejas signāli Result(27:0)
  • Iesūtīšanas termiņš 07.11.2008 10:30
  • Atrādīšanas termiņš 07.11.2008 14:10

Kursa projekts #1 - 4.posms

  • Integrācija - 5.4
    • Šeit iespējams apskatīt DataPath BEZ Jump instrukcijas realizācijas
    • Šeit iespējams apskatīt DataPath AR Jump instrukcijas realizāciju (pievērst uzmanību neprecizitātei attēla labajā augšējā stūrī)
    • Šeit iespējams apskatīt instrukciju atmiņas simulatoru
    • Papildus nosacījumi:
      • Reģistru faila reģistrā #0 vienmēr atrodas vērtība 0
      • Reģistru faila reģistrā #1 vienmēr atrodas vērtība 1
      • Datu atmiņas adreses #28 biti(7:0) pievienoti LED(7:0)
      • PC reģistrā iespējams ierakstīt vērtību 0, nospiežot pogu ROT_CENTER
  • Pārbaude
    • Shēmai jabūt spējīgai iziet visas 3 izstrādes fāzes (drīkst būt Warning'i, nedrīkst būt Error'i):
      • Synthesize
      • Implement Design
      • Generate Programming File
    • Ja nepieciešams (ISE konstatē iekārtas resursu nepietiekamību), datu atmiņas apjomu var samazināt līdz 64 adresēm
  • Lejupielāde uz Xilinx Spartan 3E platformas
  • Testēšana ar kontrolpiemēriem
    • Šeit iespējams apskatīt programmas sastādīšanai pieejamās instrukcijas
    • Šeit iespējams apskatīt programmas paraugu (paldies Jānim T. un Jānim B.)
    • Piezīmes:
      • Instrukcijas NOR iekļaušana testa programmā nav obligāta (tas saistīts ar moduļa ALU control realizācijas atspoguļojumu grāmatā)
      • Iespējams, ka programmas paraugu vēl būs nepieciešams modificēt (ir versija, ka shēma var nekorekti izpildīt viena un tā paša reģistra lasīšanu un rakstīšanu vienā programmas darbības solī)