VHDL实验(完整版) 联系客服

发布时间 : 星期六 文章VHDL实验(完整版)更新完毕开始阅读

新建VHDL文件

将下面源程序复制进去(十进制计数): library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cnt10b is port(

clk,rst,en:in std_logic;

cq:out std_logic_vector(3 downto 0); cout:out std_logic); end cnt10b;

architecture behav of cnt10b is begin

process(clk,rst,en)

variable cqi:std_logic_vector(3 downto 0); begin

if rst = '1' then cqi:=(others =>'0'); --计数器异步复位 elsif clk'event and clk='1' then

if en = '1' then --检测是否允许计数 if cqi<9 then cqi:=cqi+1; --小于9,计数

else cqi:=(others =>'0'); --大于9,计数器清零 end if; end if; end if;

if cqi=9 then cout<='1'; --大于9,输出进位信号 else cout<='0'; end if;

cq<=cqi; --将计数器值向端口输出 end process; end behav;

复制完成后将VHDL文件存盘,选择File——Save As,找到已建立的文件夹d:\\cnt10b,

存盘名称自定,同样不能为中文,我们用文件夹命名cnt10.vhd。当出现“Do you want to create a new project with this file?”时,选择是,随即进入工程建立流程。

将会出现下图,说明各行的意义,第一行D:/cnt10b/,说明你的工程文件的路径。第二行cnt10b,是工程的名字。第三行cnt10b为当前工程文件的实体名,这里即为cnt10b。此方法所有选项会根据你以上的步骤自动记录,直接选择下一步即可。

工程文件建立

点击下一步Next,将设计文件加入工程(如果事先做好的话),我们刚才建立的cnt10b.vhd源程序文件,我们将它加入进来后,选择下一步。

工程文件添加

点击下一步Next后,选择具体芯片型号Family类型选择Cyclone,具体型号为EP1C6Q240C8。芯片型号一定要选择对,不然无法将程序下载至实验箱。选择下一步Next,第四项选择工具可以全部不选,直接Next完成。此时,cnt10b的工程已建立好。

cyclone芯片选择

工程建立成功图示

选择Processing——Start Compilation进行编译,也可点击快捷工具栏中译操作,编译成功如下图所示。

按钮进行编

编译成功界面

若编译时出现其他问题(warming可忽略),软件会提示出现问题的地方,比如:语句

错误等。根据提示进行修改,若一直跟着此步骤做下来,应该不会有问题。(注意:未注册的软件是100%无法编译成功的)

5.建立波形文件进行仿真。

选择File——new——Other Files——Vector Waveform File——OK,建立波形仿真软件,然后选择View——Utility Windows——Node Found【快捷键(ALT+1)】,然后再弹出的对话框中Filter选择Pins:all——点击list,将出现9个信号源(若未出现说明未编译成功,重新编译一次),框选全部信号源,添加至波形文件的Name下面,然后点击保存,将波形文件命名为cnt10b.vwf。

信号源的添加

信号源添加至波形文件

进行信号源的属性设置,首先设置仿真的起止时间,Edit——End Time,选择仿真时间10S。然后将clk时钟源设置为时钟模式Overwrite Clock图标为

,点击后选择周期等属性,