Differences

This shows you the differences between two versions of the page.

Link to this comparison view

ac-is:teme-ie:proiect [2023/12/13 22:46]
ionut.pascal [Notes]
ac-is:teme-ie:proiect [2024/01/07 18:47] (current)
ionut.pascal old revision restored (2023/12/13 23:58)
Line 4: Line 4:
   * Hard Deadline: **28.12.2023**,​ **23:59**   * Hard Deadline: **28.12.2023**,​ **23:59**
   * Publish date: **13.12.2023**   * Publish date: **13.12.2023**
-  * Last update: **13.12.2023, ​22:00**+  * Last update: **13.12.2023, ​23:50**
   * History:   * History:
-    * 13.12.2023, ​22:00+    * 13.12.2023, ​23:50
       * Publish the assignment       * Publish the assignment
  
Line 18: Line 18:
 ===== Description and requirements ===== ===== Description and requirements =====
  
 +Floating point has a long history in the engineering field and in computer science. The promoter was Leonardo Torres Quevedo back in 1914; nowadays, we use IEEE754 Standard Implementation. [[https://​en.wikipedia.org/​wiki/​Floating-point_arithmetic|Wiki]]
 +The assignment consists in implementing a floating point multiplication algorithm for 2 numbers with the following format (S_EEEE_MMMMMMM):​
 +  * 1 sign bit - S
 +  * 4 exponent bits - E
 +  * 7 mantissa bits - M
 +The implementation can follow the proposed state machine:
 +{{ :​ac-is:​teme-ie:​untitled_diagram.jpg?​nolink |}}
 +Because we encounter a multiplication of fixed point (mantissa), we should implement a dedicated module responsible for this operation. The Booth algorithm is a suitable option which reduces the complexity but keeps a good understanding behind. The size of the operands is dependent on the size of the mantissa.
 +
 +Requirements:​
 +  - Implement Booth algorithm in the dedicated file for 2 8bit operands:
 +    - Take 2 random 8bit numbers of your choice and demonstrate the algorithm on the paper;
 +    - Implement the Verilog code.
 +  - Implement the floating point multiplication algorithm:
 +    - Take 2 random 12bit numbers of your choice which respects the floating point format and demonstrate the multiplication on the paper;
 +    - Implement the Verilog code.
 +
 +<note important>​Don'​t forget to follow the TODO's inside the code and check for the errors and messages in the console! Checking is implemented inside the testcase!</​note>​
 +     
 ===== Implementation ===== ===== Implementation =====
  
Line 96: Line 115:
       * general presentation of your solution;       * general presentation of your solution;
       * description of any complex coding parts that you consider additional explanation is needed and they are too long to be an inline comment;       * description of any complex coding parts that you consider additional explanation is needed and they are too long to be an inline comment;
 +    * Pictures/​Scans of your paper demonstrations.
   * The archive shall __**not**__ contain any other files from the implementation folder (i.e. test files, project specific files, etc).   * The archive shall __**not**__ contain any other files from the implementation folder (i.e. test files, project specific files, etc).
  
Line 131: Line 151:
   * **Booth Multiplication Another Example** - [[https://​www.javatpoint.com/​booths-multiplication-algorithm-in-coa|Click]]   * **Booth Multiplication Another Example** - [[https://​www.javatpoint.com/​booths-multiplication-algorithm-in-coa|Click]]
  
-===== Anexă ​=====+===== Appendix ​=====
ac-is/teme-ie/proiect.1702500382.txt.gz · Last modified: 2023/12/13 22:46 by ionut.pascal
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0