实验指导参考模板_第1页
实验指导参考模板_第2页
实验指导参考模板_第3页
实验指导参考模板_第4页
实验指导参考模板_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、ispDesignEXPERT中VHDL语言的设计方法ispDesignEXPERT开发系统提供了使用VHDL语言实现在系统可编程逻辑器件的应用设计的功能。VHDL设计输入的操作步骤Step1-> 在ispDesignEXPERT System Project Navigator主窗口中,按File=>New Project 菜单建立一个新的工程文件,此时会弹出如下图所示的对话框,在该对话框中的 Project Type 栏中,选择 VHDL 类型,然后,将该工程文件存盘为 demo.syn。 step2-> 在 ispDesignEXPERT System Project

2、Navigator 主 窗 口 中,选 择 Source=>New 菜 单。 在 弹 出 的 New Source 对 话 框 中, 选 择 VHDL Module 类 型。此 时, 软 件 会 产 生 一 个 如 下 图 所 示 的 New VHDL Source 对 话 框:1 / 10在 对 话 框 的 各 栏 中, 分 别 填 入 如 上 图 所 示 的 信 息。 按 OK 钮 后, 进 入 文 本 编 辑 器 - Text Editor 编 辑 VHDL 文 件。Step3-> 在 Text Editor中输入如下用VHDL描述的二十进制计数器的程序,存盘返回到ispDe

3、signEXPERT System Project Navigator 项目引导器窗口,输入的源程序文件demo.vhd显示在Source in Project中。二十进制计数器程序及说明如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity demo isport(clk,clr,en: in std_logic; A,B,C,D,E: out std_logic);end demo;architecture demo_arch of demo issignal count: std

4、_logic_vector(4 downto 0);begin A<=count(0); B<=count(1); C<=count(2); D<=count(3); E<=count(4); process(clk,clr) Begin if(clr='0') then -清零(clr)信号有效时, count<="00000" 计数器清零 elsif rising_edge(clk) then -时钟信号的上升沿触发 if(en='1') thenif(count="10011")

5、then -计数到十进制的19时,再来 count<="00000" 一个计数时钟时,计数器从零开始计数 else count<=count+'1'-计数值加1 end if; end if; end if;end process;end demo_arch;step4-> 选中Source in Project源 程 序 区 中 的 ispLSI1016-80LJ44, 在主窗口右侧选择Compile Design命令,编译文件demo.vhd后生成熔丝图文件(*.jed)。注:一般来讲,第一次输入的VHDL源程序时都可能存在语法和其他输

6、入方面的错误,此时可选择菜单 Tools=>Synplicity Synplify Synthesis,出现如下窗口。选 Add调入demo.vhd,然后对demo.vhd文件进行编译、综合。 若 整 个 编 译、 综 合 过 程 无 错 误, 该 窗 口 在 综 合 过 程 结 束 时 会 自 动 关 闭。 若 在 此 过 程 中 出 错, 双 击 上 述 Synplify 窗 口 中 Source Files 栏 中 的 demo.vhd 文 件 进 行 修 改 并 存 盘, 然 后 按 RUN 钮 重 新 编 译。Step5-> 编译和综合各步骤通过后,要形成可以将程序下载到

7、实验板上的*.jed文件,为此,在文本编辑软件中编写一个引脚锁定文件(*.prn),将程序中的输入/输出信号与实验板上的ispLSI1016芯片的具体管脚一一对应。下面是demo中的二十进制计数器的引脚锁定文件demo.prn: In/out信号引脚属性芯片引脚号ClkIn11ClrIn14EnIn24AOut15BOut16COut17DOut18Eout19此后,打开编译设计文件的Compile Design的Compile Properties对话框,在Pin文本框中输入引脚锁定文件Demo.prn,然后单击“确定”按钮,完成引脚锁定功能。step6-> 返回到ispDesignE

8、XPERT System Project Navigator 项目引导器窗口,选中Source in Project源 程 序 区 中 的 ispLSI1016-80LJ44, 在主窗口右侧选择Compile Design命令,编译文件demo.vhd后生成用于下载的熔丝图文件demo.jed。下载熔丝图文件为了下载熔丝图文件到实验板的ispLSI1016-80PLCC44芯片中,执行如下操作:1、检查实验板的编程接口电缆是否已连接到计算机的并行接口处,如未连好,文件存盘后关闭计算机,将接口电缆连接好后开机;2、在ispDesignEXPERT System Project Navigator

9、 左侧的Source in Project窗口中,选中系统可编程逻辑器件ispLSI1016-80LJ44;3、在右侧的窗口中,双击系统可编程逻辑器件的ISP Daisy Chain Download(莲花链式下载)命令,进入程序下载操作;4、双击LSC ISP Daisy Chain Download 系统中的SCAN按钮开始扫描操作,查找用户实验板上的ispLSI器件,如果计算机的并行接口和编程接口电缆连接以及编程接口电缆和用户电路板的连接无误,则程序将显示用户电路板的ispLSI集成电路的型号,然后提示Scan Board: successful。5、在Browse窗口中找到需要下载的.

10、jed文件,并选择PV(Program & Verify)选项;6、按Ctrl+R组合键执行下载操作,下载结束后,实验板上的5个发光二极管将开始计数显示。设计示例本小节以数字频率计为例,详细介绍了用VHDL语言从输入设计到编程可编程芯片的各个步骤,该实例设计已在ispDesignEXPERT开发系统中完成,并在TDS-1型在系统可编程逻辑集成电路实验板上得到了验证,关于TDS-1型在系统可编程逻辑集成电路实验板的电路原理可参见该系统的使用说明书。设计示例:用VHDL编写程序实现数字频率计的控制4个十进制计数器在单位时间内计数、停止计数和清零等逻辑功能。如下图所示,xclk为待测的输入信

11、号,clk为8HZ标准信号,作为产生1秒信号的输入信号。D0-A0为个位十进制计数器的BCD码输出信号,D3-A3为千位十进制计数器的BCD码输出信号,为实验板上的LED数码管驱动电路提供输入信号。D0-A0D1-A1D2-A2D3-A3Xclkclk 图 4位数字频率计该程序由5个进程组成,其中进程P1-P4分别描述4个十进制计数器,进程P5产生计数器的清零信号clr和计数允许信号 en,源程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned

12、.all;entity freq isport(xclk,clk:in std_logic;A0,B0,C0,D0,A1,B1,C1,D1:out std_logic;A2,B2,C2,D2,A3,B3,C3,D3:out std_logic);end;architecture example of freq issignalcountb:std_logic_vector(3 downto 0);signalcount0:std_logic_vector(3 downto 0);signalcount1:std_logic_vector(3 downto 0);signalcount2:std

13、_logic_vector(3 downto 0);signalcount3:std_logic_vector(3 downto 0);signalen,clr,m0,m1,m2:std_logic;beginP1:process(xclk,en,clr)beginif(clr='0') thencount0<="0000"m0<='0'elsif(en='1') and rising_edge (xclk) ) thenif( count0="1001") thencount0<=&qu

14、ot;0000"m0<='0'elsecount0<=count0 + '1'm0<='1'end if;end if;end process P1;P2:process(en,clr,m0)beginif(clr='0') thencount1<="0000"m1<='0'elsif(en='1') and falling_edge(m0) ) thenif( count1="1001") thencount1<

15、="0000"m1<='0'elsecount1<=count1 + '1'm1<='1'end if;end if;end process P2;P3:process(en,clr,m1)beginif(clr='0') thencount2<="0000"m2<='0'elsif(en='1') and falling_edge(m1) ) thenif( count2="1001") thencount2

16、<="0000"m2<='0'elsecount2<=count2 + '1'm2<='1'end if;end if;end process P3;P4:process(en,clr,m2)beginif(clr='0') thencount3<="0000"elsif(en='1') and falling_edge(m2) ) thenif( count3="1001") thencount3<="000

17、0"elsecount3<=count3 + '1'end if;end if;end process P4;P5:process(clk)beginif(rising_edge (clk) )thencountb<=countb+'1'elsecountb<=countb;end if;if (countb="0111") thenclr <= '0'elseclr <= '1'end if;if (countb>"0111") thenen&

18、lt;='1'elseen<='0'end if;end process P5;A0<=count0(0);B0<=count0(1);C0<=count0(2);D0<=count0(3);A1<=count1(0);B1<=count1(1);C1<=count1(2);D1<=count1(3);A2<=count2(0);B2<=count2(1);C2<=count2(2);D2<=count2(3);A3<=count3(0);B3<=count3(1);C3<=count3(2);D3<=count3(3);end example;完成上述程序的输入设计文件并且编译通过后,在ispDesignEXPERT Project Navigator 中选择在系统可编程逻辑器件ispLSI1016-80PLCC44,编译设计文件(Compile Design),如果要形成可以将程序下载到实验板的熔丝图文件(.jed),还要在文本编辑软件中编写一个引脚锁定文件(*.prn),将程序中的输入/输出信号与实验板上的ispLSI

温馨提示

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

评论

0/150

提交评论