基于IP核的乘法器的设计__第1页
基于IP核的乘法器的设计__第2页
基于IP核的乘法器的设计__第3页
基于IP核的乘法器的设计__第4页
基于IP核的乘法器的设计__第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Xilinx FPGA实验报告基于IP核的乘法器的设计基于IP核的乘法器的设计1 实验内容1) 利用ISE软件的IP核和VHDL进行混合设计一个16位的乘法器;2) 用ISE进行仿真并且进行性能比较;2 实验目的1) 熟悉Xilinx的ISE软件的使用和设计流程;2) 掌握ISE仿真方法;3 实验环境1) PC机一台;2) Xilinx的ISE软件一套;4 实验原理图1给出了16位乘法器的原理图CLK图1 两个16位乘法器的原理图ABAQ1AQ21A乘法器1乘法器2图2 IP核乘法器的原理图 Xilinx ISE的core generator提供了功能强大的IP(intellectual Pr

2、operty)核,主要有Basic Elements, Clocking, Communication &Networking , Digital Signal Processing, I/O Interface, Math Functions, Memories & Storage Elements, Standard Bus Interface。通过使用这些IP核资源可以大大缩短设计周期,提高设计效率。在本设计中,使用了IP核Math Function中的Multiplier资源。通过GUI接口,可以很容易设计任意位的,有符号或无符号的乘法器。图2给出了IP核提供的乘法器的原理图。5 实验

3、步骤1) 打开ISE软件创建一个新的工程,并选择器件的类型;2) 用IP核生成一个16位的乘法器multiplier1;3) 用VHDL语言生成一个16位的乘法器multiplier2;4) 用例化语句component,port map合成一个顶层文件top.vhd;5) 调用ISE仿真器进行行为仿真,观察仿真结果;6) 调用ISE仿真器进行时序仿真,观察仿真结果;6 实验结果1) 代码顶层文件Multiply_top.vhdlibrary IEEE;use IEEE.STD_LOGIC_1164.ALL;entity Multiply_top is Port ( number1 : in

4、STD_LOGIC_VECTOR (15 downto 0); number2 : in STD_LOGIC_VECTOR (15 downto 0); result1 : out STD_LOGIC_VECTOR (31 downto 0); result2 : out STD_LOGIC_VECTOR (31 downto 0); clock : in STD_LOGIC);end Multiply_top;architecture Behavioral of Multiply_top iscomponent Multiply port(A :in STD_LOGIC_VECTOR (15

5、 downto 0);B: in STD_LOGIC_VECTOR (15 downto 0);CLK: in STD_LOGIC;P:out STD_LOGIC_VECTOR (31 downto 0);end component;component Multiply2 port(A :in STD_LOGIC_VECTOR (15 downto 0);B: in STD_LOGIC_VECTOR (15 downto 0);CLK: in STD_LOGIC;P:out STD_LOGIC_VECTOR (31 downto 0);end component;beginU0: Multip

6、ly port map(A=number1,B=number2,CLK=clock,P=result1);U1: Multiply2 port map(A=number1,B=number2,CLK=clock,P=result2);end Behavioral;乘法器Multiply2.vhdlibrary IEEE;use IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;entity Multiply2 isport(A :in STD_LOGIC_VECTOR (15

7、 downto 0); B: in STD_LOGIC_VECTOR (15 downto 0); CLK: in STD_LOGIC; P:out STD_LOGIC_VECTOR (31 downto 0);end Multiply2;architecture Behavioral of Multiply2 isbeginP 0); signal number2 : std_logic_vector(15 downto 0) := (others = 0); signal clock : std_logic := 0; -Outputs signal result1 : std_logic

8、_vector(31 downto 0); signal result2 : std_logic_vector(31 downto 0); - Clock period definitions constant clock_period : time := 10 ns;BEGIN- Instantiate the Unit Under Test (UUT) uut: Multiply_top PORT MAP ( number1 = number1, number2 = number2, result1 = result1, result2 = result2, clock = clock )

9、; - Clock process definitions clock_process :process beginclock = 0;wait for clock_period/2;clock = 1;wait for clock_period/2; end process; - Stimulus process stim_proc: process begin - hold reset state for 100 ns. wait for 100 ns; wait for clock_period*10; - insert stimulus here number1 = 11111;number2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论