We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

# AR# 14356

## Description

Keywords: multiplier, Leonardo, Spectrum, synchronous, infer

Urgency: Standard

General Description:
How do I infer the Virtex-II synchronous multiplier in LeonardoSpectrum?

## Solution

#### 1

Synchronous Multiplier in LeonardoSpectrum - VHDL Example:

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;

entity xcv2_mult18x18s is
port(clk: in std_logic;
a: in std_logic_vector(7 downto 0);
b: in std_logic_vector(7 downto 0);
prod: out std_logic_vector(15 downto 0));
end xcv2_mult18x18s;

architecture arch_xcv2_mult18x18s of xcv2_mult18x18 is
signal reg_prod : std_logic_vector(15 downto 0);
begin
process(clk)
begin
if(rising_edge(clk))then
reg_prod <= a * b;
prod <= reg_prod;
end if;
end process;
end arch_xcv2_mult18x18s;

#### 2

Synchronous Multiplier in LeonardoSpectrum - Verilog Example:

module xcv2_mult18x18s (a,b,clk,prod);
input [7:0] a;
input [7:0] b;
input clk;
output [15:0] prod;

reg [15:0] reg_prod, prod;

always @(posedge clk) begin
reg_prod <= a*b;
prod <= reg_prod;

endmodule
AR# 14356
Date 04/23/2007
Status Archive
Type General Article
Page Bookmarked