spDesignEXPERT 中VHDL 语言的设计方法.docx

上传人:时光煮雨 文档编号:11695510 上传时间:2021-08-31 格式:DOCX 页数:10 大小:169.38KB
返回 下载 相关 举报
spDesignEXPERT 中VHDL 语言的设计方法.docx_第1页
第1页 / 共10页
spDesignEXPERT 中VHDL 语言的设计方法.docx_第2页
第2页 / 共10页
spDesignEXPERT 中VHDL 语言的设计方法.docx_第3页
第3页 / 共10页
spDesignEXPERT 中VHDL 语言的设计方法.docx_第4页
第4页 / 共10页
spDesignEXPERT 中VHDL 语言的设计方法.docx_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《spDesignEXPERT 中VHDL 语言的设计方法.docx》由会员分享,可在线阅读,更多相关《spDesignEXPERT 中VHDL 语言的设计方法.docx(10页珍藏版)》请在三一文库上搜索。

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

2、rce=New 菜单。 在弹出的New Source 对话 框中, 选择VHDL Module类型。此时, 软件会产生一 个如下图所示的New VHDL Source对话框:在对话框的各栏中,分别填入如上图所示的信 息。按OK钮后,进入文本编辑器-Text Editor 编辑 VHDL文件。Step3- 在Text Editor 中输入如下用VHDLffi述的二十进制计数器 的程序, 存盘返回到 ispDesignEXPERT System Project Navigator 项目引导器窗口,输入的源程序文件显示在Source inProject中。二十进制计数器程序及说明如下:library

3、 ieee;use 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_logic_vector(4 downto 0);beginA=count(0);B=count(1);C=count(2);D=count(3);E=count(4);process(clk,clr)Beginif(clr=0) then-清零(cir)信号有效时,count=00000;计数器清零eisif rising_edg

4、e(cik) then-时钟信号的上升沿触发-if(en=1) thenif(count=10011) then -计数到十进制的19时,再来count=00000; 一个计数时钟时,计数器从零开始计数 eise count 选中 Source in Project 源 程 序 区 中 的 ispLSI1016-80LJ44, 在主窗口右侧选择Compiie Design 命令,编译文件后生成熔丝图文件( *.jed )。注:一般来讲,第一次输入的VHDL程序时都可能存在语法和其他输入方面的错误,此时可选择菜单Toois=Synpiicity SynpiifySynthesis ,出现如下窗口

5、。选 Add 调入,然后对文件进行编译、综 合。若整个编译、综合过程无错误,该窗口在综合过 程结束时会自动 关闭。若在此过程中 出错,双击 上述Synplify 窗口中Source Files 栏中的 文件进行 修改并存盘,然后按RUN钮重新编译。Step5-编译和综合各步骤通过后,要形成可以将程序下载到实验板上的*jed 文件,为此,在文本编辑软件中编写一个引脚锁定文件(*prn ),将程序中的输入/输出信号与实验板上的 ispLSI1016芯片的具体管脚对应。卜面是dem件的二十进制计数器的引脚锁定文件In/out信号引脚属性芯片引脚号ClkIn11ClrIn14EnIn24AOut15B

6、Out16COut17DOut18Eout19此 后 , 打 开 编 译 设 计 文 件 的 Compile Design 的 CompileProperties 对话框,在Pin 文本框中输入引脚锁定文件, 然后单击“确定”按钮,完成引脚锁定功能。step6- 返 回 到 ispDesignEXPERT System Project Navigator 项 目 引 导 器 窗 口 , 选 中 Source in Project 源 程 序 区 中 的 ispLSI1016-80LJ44, 在 主 窗 口 右 侧 选 择Compile Design 命 令 , 编 译 文 件 后 生 成 用

7、于 下 载 的 熔 丝 图 文 件。下载熔丝图文件为了下载熔丝图文件到实验板的 ispLSI1016-80PLCC44 芯片中,执行如下操作:1 、检查实验板的编程接口电缆是否已连接到计算机的并行接口处,如未连好,文件存盘后关闭计算机,将接口电缆连接好后开机;2 、 在 ispDesignEXPERT System Project Navigator 左 侧 的 Source in Project 窗口中,选中系统可编程逻辑器件 ispLSI1016-80LJ44 ; 3、在右侧的窗口中,双击系统可编程逻辑器件的 ISP Daisy Chain Download( 莲花链式下载) 命令,进入程

8、序下载操作;4、双击LSC ISP Daisy Chain Download 系统中的SCANg钮开始扫描操作,查找用户实验板上的 ispLSI 器件,如果计算机的并行接口和编程接口电缆连接以及编程接口电缆和用户电路板的连接无误,则程序将显示用户电路板的 ispLSI 集成电路的型号,然后提示Scan Board:successful 。5、在Browse窗口中找到需要下载的.jed文件,并选择 PV(Program &Verify) 选项;6 、按 Ctrl+R 组合键执行下载操作 ,下载结束后,实验板上的 5个发光 二极管将开始计数显示。设计示例本小节以数字频率计为例,详细介绍了用VHD晤

9、言从输入设计到编程可编程芯片的各个步骤,该实例设计已在ispDesignEXPERT开发系统中完成,并在TDS-1型在系统可编程逻辑集成电路实验板上得到了验证,关于TDS-1型在系统可编程逻辑集成电路实验板的电路原理 可参见该系统的使用说明书。设计示例:用VHD编写程序实现数字频率计的控制4个十进制计数器在单位时间内计数、停止计数和清零等逻辑功能。如下图所示,xclk为待测的输入信号,clk为8HZg准信号,作为 产生1秒信号的输入信号。D0-A0为个位十进制计数器的 BCM输出信 号,D3-A3为千位十进制计数器的 BC网输出信号,为实验板上的LED数码管驱动电路提供输入信号。图4位数字频率

10、计该程序由5个进程组成,其中进程 P1-P4分别描述4个十进制计数器, 进程P5产生计数器白清零信号clr和计数允许信号en ,源程序如下:library ieee;use 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 issignal countb:std_logic_vector(3 downto 0);signal count0:std_logi

11、c_vector(3 downto 0);signal count1:std_logic_vector(3 downto 0);signal count2:std_logic_vector(3 downto 0);signal count3:std_logic_vector(3 downto 0);signal en,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) ) then if( count0=

12、1001) then count0=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) ) then if( count1=1001) then count1=0000;m1=0;elsecount1=count1 + 1;m1=1;end if;end if;end process P2;P3:process(en,clr,m1)beg

13、inif(clr=0) then count2=0000;m2=0;elsif(en=1) and falling_edge(m1) ) then if( count2=1001) then count2=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) ) then if( count3=1001) then count3=0000;elsec

14、ount3=count3 + 1;end if;end if;end process P4;P5:process(clk)beginif(rising_edge (clk) )then countb=countb+1;elsecountb=countb;end if;if (countb=0111) thenclr = 0;elseclr 0111) thenen=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=co

15、unt1(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;完成上述程序的输入设计文件并且编译通过后,在 ispDesignEXPERTProject Navigator中选择在系统可编程逻辑器件ispLSI1016-80PLCC44,编译设计文件( Compile Design ),如果要形成可以将程序下载到实验板的熔丝图文件( .jed ) ,还要在文本编辑软件中 编写一个引脚

16、锁定文件(*.prn),将程序中的输入 /输出信号与实验板上的ispLSI1016芯片的具体管脚一一对应。以下是该数字频率计的引脚锁定文件:输入 / 输出信号名引脚属性芯片的引脚编号XclkIn11ClkIn35A0Out15B0Out16C0Out17D0Out18A1Out19B1Out20C1Out21D1Outr22A2Out25B2Out26C2Out27D2Out28A3Out29B3Out30C3Out31D3out32打开 Compile Design 的 Compile Properties 对话框,在 Pin 文本框中输入引脚锁定文件,然后单击“确定”按纽。须注意的是isp

17、LSI1016-80白35脚既可作为一个输入信号Y1,也可定义为复位信号( RESET ),如果不加任何控制,在编译适配软件时,将Y1默认为系统复位端口。由于在本实验中ispLSI1016-80的35脚是作为一个时钟输入信号使用的,因此需要通过编译器控制参数将ispLSI1016-80的35脚定义为时钟输入脚,即在Compiler Properties对话框中将 Y1端口定义为复位信号无效( Y1 as RESET )。最后,按Ctrl+R组合键执行下载操作,将生成的熔丝图文件下载到实验板的isp LSI1016-80PLCC40芯片上,下载操作结束后,实验板上的4个LED 数码管( LED4-LED1 )应显示输入信号的数字频率。其它的数字系统设计如自动售货机、电子钟、交通信号灯等同学们可查阅文献3。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1