UPGRADE YOUR BROWSER

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

EXEMPLAR - How do I infer the Virtex-II synchronous multiplier (MULT18X18S) in LeonardoSpectrum?

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 Created 03/28/2002
Last Updated 04/23/2007
Status Archive
Type General Article