Skip to content

paritoshparashar/Hardware-Design---Chisel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hardware Design - CHISEL

Arithmetic Circuits in CHISEL

The skeleton files for this part of the project are in the folder src/main/scala/arithmetic and the corresponding tests are in the folder src/test/scala/arithmetic.

Division Circuit

Integer division of two n-bit unsigned binary numbers A and B can be implemented as a sequential circuit, based on the grade school division method. The division ⟨A⟩ according to the school method can be expressed algorithmically as follows:

for i = n-1 to 0
  R’ = 2 * R + A[i]
  if (R’ < B) then Q[i] = 0, R = R’
              else Q[i] = 1, R = R’-B

At the end of the loop, Q holds the quotient and R the remainder of the division.
The division circuit has two n-bit inputs dividend and divisor, a boolean input start, an implicit clock input, two n-bit outputs quotient and remainder, and a boolean output done.

The computation should start when start is set to true. n clock cycles later the outputs quotient and remainder should contain the correct results and done should be set to true until the next division is initiated. Whenever start = 1 occurs the circuit should start over with the current input values. The circuit should ignore changes to inputs other than start after a computation has been started. In the following section, we provide some additional guidance.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published