This design implements 2-input, 15-bit variable coefficient hybrid multiplication using M512 RAM blocks as look-up tables (LUTs). For more details on the design, refer to AN 306: Implementing Multipliers in FPGA Devices (PDF).
Download the file(s) used in this example:
The use of this design is governed by, and subject to, the terms and conditions of the Altera Hardware Reference Design License Agreement.
Table 1 shows the Hybrid Variable Coefficient Soft Multiplier design example port listing.
|
Table 1. Hybrid Variable Coefficient Soft Multiplier Port Listing |
||
|
Port Name |
Type |
Description |
|
input_I[15..0] |
Input |
One of the 16-bit inputs to the multiplier. Two bits of this input are entered to the multiplier every clock cycle till the entire bus is completely loaded. |
|
input_Q[15..0] |
Input |
One of the 16-bit inputs to the multiplier. Two bits of this input are entered to the multiplier every clock cycle till the entire bus is completely loaded. |
|
sload_data |
Input |
Active high. Specifies the start of a new data set and new multiplication operation. |
|
coef_in[17..0] |
Input |
Coefficient update data port. Pre-calculated coefficient values on this port will be stored in to locations specified by coef_add_in when the coef_wren signal is enabled. |
|
coef_add_in[4..0] |
Input |
Coefficient update address port. This specifies which address location a particular pre-calculated coefficient value is written to. |
|
coef_wren |
Input |
Coefficient write/update enable. If coef_wren is high, the RAM blocks will start to accept pre-calculated coefficient values on the coef_in port and store them in the locations specified by the coef_add_in signal. This signal has to remain high till all the pre-calculated coefficient values have been updated in the RAM blocks. |
|
clk |
Input |
Clock |
|
sclr |
Input |
Active high synchronous clear |
|
result[31..0] |
Output |
The output is a 32-bit signed value. |
|
result_valid |
Output |
Indicates when the output is the valid result of a complete multiplication. The signal will go high for the time that the output is valid. |
For more information on using this example in your project, go to:
Design Examples Disclaimer
These design examples may only be used within Altera Corporation devices and remain the property of Altera. They are being provided on an “as-is” basis and as an accommodation; therefore, all warranties, representations, or guarantees of any kind (whether express, implied, or statutory) including, without limitation, warranties of merchantability, non-infringement, or fitness for a particular purpose, are specifically disclaimed. Altera expressly does not recommend, suggest, or require that these examples be used in combination with any other product not provided by Altera.
