可置数的10位计数器的设计第二章 EDA实验内容实验一可置数的10位计数器的设计一、实验目的:熟悉Lattice公司的ISPexpert软件,掌握采用EDA技术进行设计的过程,学会使用用VHDL语言进行电路设计。
二、实验内容:1、编写可置数的10位计数器的VHDL程序。
2、进行逻辑编译、综合和优化。
3、进行软件仿真。
三、实验步骤:1、建立新目录:如e:\ispexpert 。
2、启动ispDesign Expert :选择“开始→程序→LatticeSemiconductor→ispDesign Expert”。
进入ispEXPERT System Project Navigator(项目浏览器)主窗口。
3、创建一个新的设计项目:在ispEXPERT System Project Navigator主窗口中,选择File→New Project,建立一个新的工程文件。
此时会弹出如下对话框。
注意:在该对话框中的Project Type栏中,必须根据设计类型选择相应的工程文件的类型。
将该工程文件保存在E:\ispexpert路径下,取名ls160.syn。
收集于网络,如有侵权请联系管理员删除4、项目命名:用鼠标双击Untitled,出现对话框,在Title文本框中输入“ls160 Project”,按OK。
5、选择器件:双击ispLSI15256VE-165LF256,出现 Device Selector对话框,→ispls1032E-70LJ84,按OK按钮。
选择ispLSI 1k Device→ispLSI 1032E(1)从菜单上选择“Source→new”收集于网络,如有侵权请联系管理员删除收集于网络,如有侵权请联系管理员删除(2)在New Source 主窗口中,选择VHDL Module 类型。
按OK 后,产生New VHDL Sourse 对话框,在对话框的各栏中,分别添入如图所示的信息。
按OK 钮后,进入文本编辑Text Editor 编辑VHDL 文件。
(3) 在Text Editor 中输入可置数的10位计数器的VHDL 设计。
LIBRARY ieee; USE ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; ENTITY ls160 IS PORT(data: in std_logic_vector(3 downto 0); clk,ld,p,t,clr:in std_logic; count: buffer std_logic_vector(3 downto 0); tc:out std_logic); END ls160; ARCHITECTURE behavior OF ls160 IS BEGIN tc<='1' when (count="1001" and p='1' and t='1' and ld='1' and clr='1') else '0'; process(clk,clr,p,t,ld) begin if(rising_edge(clk)) then if(clr='1')then if(ld='1')then if(p='1')then if(t='1')then if(count="1001")then count<="0000"; else count<=count+1; end if; else count<=count; end if; else count<=count; end if; else count<=data; end if; elsecount<="0000";end if;end if;end process ;END behavior;保存以后,在ispEXPERT System Project Navigator主窗口左侧将显示源程序ls160.vhd文件已被自动调入。
单击源程序区中的ispLS1032E—70LT84栏,此时的ispEXPERT System Project Navigator主窗口如下所示:Array7、编译、综合:(1)选择信息窗口中的器件,然后双击右侧流程窗口中的Merged EDIF Netlist,生成网表文件,供逻辑综合、功能仿真用。
(2)选择Tools→Synplicity Synplify Synthesis对文件进行编译、综合。
收集于网络,如有侵权请联系管理员删除收集于网络,如有侵权请联系管理员删除按RUN 按钮,进行编译和综合。
完成以后会在该窗口中显示编译的信息——错误、警告、注意。
若此过程中出错,双击上述Synplify 窗口中Sourse File 栏中的ls160.vhd 文件,进行修改并存盘,然后按RUN 钮重新编译。
(注:warning,notes 信息可忽略,即关闭该窗口。
)8、功能仿真:通过VHDL 逻辑综合过程后,就可对设计进行功能仿真。
(1)打开项目管理器(Project Navigator ),选择S ource→NEW 。
(2)选择Waveform Stimulus ,按OK 。
(3)出现Associate Waveform Stimulus 窗口,选择任意一项,按OK 。
(5)出现New Waveform Stimulus 窗口,键入文件名ls160,将自动生成ls160.wbl 文件,按OK 按钮后进入波形编辑(Waveform Edit ),并弹出波形编辑子窗口(Nothing Selected )(也可以选择选择Object →Edit Mode )。
收集于网络,如有侵权请联系管理员删除(5)选择Edit →New Wave ,点选input ,键入输入信号clk ,然后点击Add 添加信号,如下图。
依次键入输入信号clr ,ld ,p ,t 。
(6)可以在菜单view 中可选择zoom 来放大和缩小图形,此时鼠标上将出现Z 符号,按右键结束。
(7)点选CLK 信号,如图平行拖动鼠标后如下图所示,在Duration 中键入10us ,在states 下点选LOW ,在次波形旁点击鼠标,在Duration 中键入10us ,在states 下点选High ,此波形画完后拖动鼠标选中此波形,在Repeat 中键入15,然后回车。
(8)依次对P ,T ,CLR ,LD 编辑,平行拖动鼠标,(在Duration中键入150ps )如图所示:收集于网络,如有侵权请联系管理员删除(9)存盘后退出。
(10)点选左窗口的ls160.wbl,双击右窗口的functional simulation 。
出现如下对话框:(11)在菜单tools 下选择waveform viewer ,在waveform viewer 中选择Edit →Show ,点击BUS 《,打开如右图窗口,在需显示信号中拖选COUNT[0],COUNT[1], COUNT[2], COUNT[3],点击Add Net[s]按钮,点击Save Bus 按钮,点击左图的Show 按钮,选择tc 信号,按Show 按钮显示该信号。
点选菜单FILE ,选择SAVE 进行保存。
(12)点击simulator control panel 窗口中的RUN 按钮,或选择Simulate →Run 将在waveform viewer 窗口中显示如下图:收集于网络,如有侵权请联系管理员删除9、适配、管脚锁定:(1)选择信息窗口中的器件,然后双击右侧流程窗口中的Comstraint Manager ,进入ispEXPERT compiler 环境,出现如下窗口:(2)从Assign 菜单中选择Pin Location ,进行管脚锁定。
在未锁定管脚列表“unsigned”区可看到在该设计中的输入/输出信号,若希望将输入信号”CLK “锁定在ISPLS1032-70LJ84的20号管脚,只需在”UNSIGNED “区选中”CLK “(鼠标左键单击之),然后在最右边的ispLS1032E-70LJ84 第20号脚上双击鼠标左键即可。
若想删除一个锁定,只需在已锁定的管脚上双击鼠标左键即可。
仿此法锁定:CLK —20,CLR —36,data(0)—41,data(1)—40,data(2)—39,data(3)—38,LD —37,P —34,T —35,Count(0)—71,Count(1)—70,Count(2)—69,,Count(3)—68,tc —53。
10、编译、适配:在ispEXPERT compiler环境中,执行Tools→compile命令,进行编译和适配,生成JED文件,供下载用。
在ispexpert Compiler窗口中的View菜单下选择ispSmart Flow,打开编辑流程。
11、时序分析和时序仿真:选择信息窗口中的器件,然后双击右侧流程窗口中的Timing Analysis,自动执行时序分析,然后可以在时序资源管理器,察看时序报告。
12、编程下载:(1)执行菜单TOOLS下ISPDCD 命令,进行下载。
(2)点击SCAN按钮,将在显示检查结果中获得成功信息。
(3)点击BROWE按钮,选择下载文件,e:\isp\exp2.jed。
(4)将下载电缆一端插入LPT1(并行口,打印机口),另一端插入系统板,打开下载板电源,准备下载。
(5)点击下载按钮,完成设计的下载。
收集于网络,如有侵权请联系管理员删除精品文档收集于网络,如有侵权请联系管理员删除。