Question: In this lab, the students will obtain experience with sequential logic design, and study digital designusing the Xilinx design package for FPGAs. It is assumed

In this lab, the students will obtain experience with sequential logic design, and study digital designusing the Xilinx design package for FPGAs. It is assumed that students are familiar with the operation of the Xilinx design package for Field Programmable Gate Arrays (FPGAs) through the Xilinix tutorial available in the class website.1. This lab introduces unsigned binary division algorithms, including the restoring algorithm.2. Given a dividend a and a divisor b, the restoring division algorithm calculates the quotient q and the remainder r such that a = b x q + r and r < b, by subtracting b from the partial remainder (initially the MSB of a). If the result of the subtraction is not negative, we set the quotient bit to 1. Otherwise, b is added back to the result to restore the partial remainder. Then we shift the partial remainder with the remaining bits of a to the left by one bit for the calculation of the next quotient bit. This procedure is repeated until all the bits of a are shifted out.3. Figure 1 shows the schematic diagram of a restoring divider. There are three registers: reg_b, reg_r, and reg_q, for storing the divisor b, a remainder r, and quotient q respectively. Initially, reg_q stores the dividend a. A subtracter is used to subtract b from the partial remainder. The MSB of the output of the subtracter is used to determine whether the result of the subtraction is negative or not. The multiplexer over reg_q is used to load a initially and to shift the content of reg_q (a and q) to the left later. The multiplexer over reg_r implements the restoring. If the result of the subtraction is negative, the multiplexer selects the original partial remainder. Otherwise, it selects the result of the subtraction. At each iteration, one bit of q is obtained from the sign bit of the subtracter result and written to the LSB of the reg_q.4. In Figure 2, start signal means the start of the division; busy indicates that the divider is busy (cant start a new division); ready indicates that the quotient and remainder are available; and count is the output of a counter that is used to control the iterations of the division.5. Figure 2 shows part of the expected output of the simulation of 0x4c7f228a /0x6a0e, q =0xb8a6 and r =0x4d76 are available when ready is 1 at 330 ns and then 0xffff00/4, q is 0x3fffc0, and r is 0

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!