原创 安装和使用ModelSim PE 6.4 学生版和Xilinx ISE Webpack

2009-5-24 17:30 10740 6 6 分类: FPGA/CPLD

Lab 1<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


 


截止日期:2008-9-18 5:00:00pm


 


 


1.  安装ModelSim PE 6.4 学生版


 


(1)   下载 ftp://172.16.3.97/huanghai/fpga/ modelsim-pe_student_edition.exe


(2)   按右键解压该文件


(3)   进入解压目录,运行setup.exe


(4)   安装时全部选择默认即可


(5)   安装完成后,浏览器会自动打开ModelSim的注册网页,用于申请License(证书)http://portal.model.com/modelsim/student_edition/registration.asp


(6)   填写网页上的每一栏,填写完毕后按Request License按钮提交。该表单必须认真填写,特别是email地址,填写完毕后License会发到你的邮箱。License是根据机器的硬件ID号生成的,每台电脑的License都不同,一个License不能用在多台电脑上。填写时可参照下面的例子:


<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />



(7)   把收到的student_license.dat文件保存到ModelSim的安装目录,例如C:\Modeltech_pe_edu_6.4


 


(8)   安装完毕,可选择“开始”->“程序”->ModelSim PE Student Edition <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />6.4->ModelSim”运行程序


 


 


 


 


 


2.  安装Xilinx ISE Webpack


 


(1)   下载并解压ftp://172.16.3.97/huanghai/fpga/WebPACK_SFD_92i.zip


(2)   运行setup.exe


(3)   选择Next


(4)   选中I accept the terms….,然后按Next (重复3)


(5)   选择安装路径,然后按Next


(6)   在接下来的三个窗口中,直接按Next就行了


(7)   选择Install,开始安装


(8)   安装完成后,在Xilinx WebUpdate窗口,选择Cancel


(9)   OK


(10) 选择“开始”->“程序”->Xilinx ISE 9.2i->Project Navigator”运行程序


 


 


 


 


 


3.  使用ModelSim


 


(1)   启动ModelSim


(2)   选择File->New->Project…,在弹出的窗口中的Project Name文本框输入项目的名字(例如:Lab1),然后按OK。其他文本框可用默认值


(3)   ”Add items to the Project”窗口中选择Create New File


(4)   ”Create Project File”窗口中输入文件名,例如:lab1,然后按OK


(5)   重复第(3)(4)步,创建多一个新文件testbench


(6)   关闭”Add items to the Project”窗口


(7)   双击主窗口左边的”Workspace”栏的lab1.vhd,打开该文件,输入以下内容:


library IEEE;


use IEEE.STD_LOGIC_1164.ALL;


use IEEE.STD_LOGIC_ARITH.ALL;


use IEEE.STD_LOGIC_UNSIGNED.ALL;


 


entity clkgen is


    Port (clkin  : in std_logic;


          reset  : in std_logic;


          clkout : out std_logic);


end clkgen;


 


architecture Behavioral of clkgen is


    signal counter : std_logic_vector(7 downto 0);


    signal myclk   : std_logic;


begin


    clkout <= myclk;


   


    process(clkin, reset)


    begin


        if (reset='0') then


            counter <= (others => '0');


            myclk <= '0';


        elsif rising_edge(clkin) then


            if (counter < "00000101") then    -- 100MHz/10M/2=5


                counter <= counter + "00000001";


            else


                counter <= (others => '0');


                myclk <= not myclk;


            end if;


        end if;


    end process;


 


end Behavioral;


(8)   双击主窗口左边的”Workspace”栏的testbench.vhd打开该文件,输入以下内容:


LIBRARY ieee;


USE ieee.std_logic_1164.ALL;


USE ieee.std_logic_unsigned.all;


USE ieee.numeric_std.ALL;


 


ENTITY tb_vhd IS


END tb_vhd;


 


ARCHITECTURE behavior OF tb_vhd IS


    COMPONENT clkgen


    PORT(


        clkin  : IN std_logic;


        reset  : IN std_logic;


        clkout : OUT std_logic);


    END COMPONENT;


 


    SIGNAL clkin :  std_logic := '0';


    SIGNAL reset :  std_logic := '0';


    SIGNAL clkout :  std_logic;


 


BEGIN


 


    uut: clkgen PORT MAP(


        clkin => clkin,


        reset => reset,


        clkout => clkout);


 


   clk_gen: process


    begin


       clkin <= '1';


       wait for 5 ns;


       clkin <= '0';


       wait for 5 ns;


    end process clk_gen;


   


    re_set : process


    begin


       reset <= '0';


       wait for 97 ns;


       reset <= '1';


       wait;


    end process re_set;


 


END;


(9)   ”Workspace”栏的空白处按鼠标右键,选择Compile->Compile Order…,确定lab1.vhdtestbench.vhd的上方,然后按OK。这样编译器就会先编译lab1.vhd,然后才编译testbench.vhd


(10) ”Workspace”栏的空白处按鼠标右键,选择Compile->Compile All,这时Transcript栏会显示:


# Compile of lab1.vhd was successful.


# Compile of testbench.vhd was successful.


# 2 compiles, 0 failed with no errors.


ModelSim>


如果显示一下错误提示,就说明程序中存在错误,可双击该错误提示,查看详情:


# Compile of lab1.vhd failed with 1 errors.


(11) 选择”Workspace”Library标签,展开Work列表,然后在tb_vhd上按鼠标右键,选择Simulate


(12) ”Workspace”Sim标签下,鼠标右键单击tb_vhd,选择Add->To Wave->All items in design


(13) 在主界面的Transcript栏,输入run 300 ns(注意空格)


(14) Wave标签窗口右上角的+,可以放大画面


(15) 按工具栏的Zoom Full按钮,可以更好的查看波形,clkin的频率是clkout频率的10倍,如下图:



(16) 选择菜单的Simulate->End Simulation,可以中止当前的仿真


 


 


 


 


 


4.  使用Xilinx ISE


 


(1)   启动Project Navigator


(2)   选择File->New Project


(3)   在弹出的窗口输入Project的名称Lab1Top-Level Source Type选择HDL


(4)   在“New Project Wizard – Device Properties”窗口中指定开发板上的FPGA的型号和规格,如下图所示:



上图所做选择的含义是:开发板FPGA的种类是General Purpose(通用型),产品家族是Spartan3,型号是XC3S200,封装是PQ208,速度是-4;综合工具是XST,仿真工具是Modelsim-XE VHDLHDL语言是VHDL


(5)   在“New Project Wizard – Create New SourcesàVHDL Module窗口直接按Next


(6)   在“New Project Wizard –Add Existing Sources”窗口直接按Next


(7)   在“New Project Wizard –Project Summary”窗口按Finish


(8)   双击主界面左边的Process栏中的Create New Source,在弹出的窗口中选择VHDL Module,然后输入文件名lab1,并按Next


(9)   在“New Source Wizard – Define Module”窗口直接按Next


(10) 在“New Source Wizard – Summary”窗口按Finish


(11) 双击主界面左边Sources栏中的lab1.vhd,打开该文件


(12) 编辑lab1.vhd,输入以下内容:


library IEEE;


use IEEE.STD_LOGIC_1164.ALL;


use IEEE.STD_LOGIC_ARITH.ALL;


use IEEE.STD_LOGIC_UNSIGNED.ALL;


 


entity lab1 is


    Port ( button : in std_logic;


            led    : out std_logic);


end lab1;


 


architecture Behavioral of lab1 is


 


begin


    led <= button;


end Behavioral;


(13) 展开主界面左边Process栏中的User Constraints,双击Edit Constraints (Text),在弹出的窗口按Yes来创建一个ucf文件


(14) 在打开的lab1.ucf文件输入


NET "led"       LOC = "P92";


NET "button"    LOC = "P154";


(15) 展开主界面左边Process栏中的Generating Programming File,双击Configure Device (iMPACT)


(16) 编译和综合完成后,会弹出”iMPACT – Welcome to iMPACT”窗口,选择”Configure devices using Boundary-Scan (JTAG)” -> “Automatically connect to a cable and identify Boundary-Scan chain”,然后按Finish


 


 


 


 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
6
关闭 站长推荐上一条 /3 下一条