文档详情

分频电路与12归1电路设计.doc

发布:2017-06-03约3.09千字共4页下载文档
文本预览下载声明
实验四十三 分频电路与12归1电路设计 验项目名称:简单逻辑电路设计与仿真 实验项目性质:普通实验 所属课程名称:VHDL与集成电路CAD 实验计划学时:2学时 实验目的 学习VHDL硬件描述语言描述电路的原理; 学会使用VHDL进行简单的电路设计; 掌握VHDL语言调用子程序的方法。 实验要求 复习VHDL相关的章节; MAX+PLUSⅡ 软件使用向导; 预习实验内容; 用VHDL硬件描述语言进行电路设计。 实验仪器 1.PC机一台 2.MAX+PLUSⅡ 软件 实验内容与步骤 1.设计一个分频电路 已知fp信号源脉冲频率为100Hz,试编写一分频程序,得到一周期为1秒(频率为1Hz)的脉冲频率,并将之形成元件例化文件,存在现行库是,以便下一个设计调用。 (1)开机,进入MAX+PLUSⅡ系统。 (2)点击File菜单Project子菜单之Name项,出现Project Name 对话框。为当前的实验选择恰当的路径并创建项目名称 注意MAX+PLUSⅡ不识别中文路径 。 (3)点击File菜单之New项,出现对话框,选择Text Editor File输入方式,文本编辑窗口(注意界面发生了一定变化)。 (4)点击File菜单之Save as 项,出现对话框,在File Name 栏中输入文件名,该文件名要与设计中的Entity 所取的名相一致,且文件名的后缀为vhd,如fp.vhd 。至此,就可以在文本编辑框中输入VHDL语言编写的程序了。 (5)编译与仿真。 vhdl设计输入参考程序: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY fp IS PORT inclk:IN STD_LOGIC; outputf:OUT STD_LOGIC ; END fp; ARCHITECTURE arch_fp OF fp IS SIGNAL fp: STD_LOGIC_VECTOR 5 DOWNTO 0 ; SIGNAL f: STD_LOGIC; BEGIN PROCESS inclk BEGIN IF inclkEVENT AND inclk 1 THEN IF fp 49 THEN fp 000000; f not f; ELSE fp fp+1; END IF; END IF; END PROCESS; outputf f; END arch_fp; 2.12归1电路设计 (1)创建一个新的项目。点击File菜单Project 子菜单下Project Name项;输入项目名称。 (2)打开文本编辑窗口。点击File菜单下New项,选Text Editor项。 (3)时钟源采用上面的分频电路所分得的1秒的时钟源。 (4)12归1电路参考程序(VHDL): LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY twelveto1 IS PORT finclk:IN STD_LOGIC; outputa:OUT STD_LOGIC_VECTOR 6 DOWNTO 0 ; outputb:OUT STD_LOGIC_VECTOR 6 DOWNTO 0 ; END twelveto1; ARCHITECTURE arch_twelveto1 of twelveto1 IS SIGNAL sa: STD_LOGIC_VECTOR 3 DOWNTO 0 ; SIGNAL sb: STD_LOGIC_VECTOR 3 DOWNTO 0 ; SIGNAL f: STD_LOGIC; COMPONENT fp PORT inclk : IN STD_LOGIC; outputf: OUT STD_LOGIC ; END COMPONENT; BEGIN u1: fp PORT MAP inclk finclk,outputf f ; PROCESS f BEGIN IF rising_edge f THEN IF sa 2 and sb 1 THEN sa 0001; sb 0000; ELSE IF sa 9 THEN sa 0000; sb sb+1; ELSE sa sa+1; END IF; END IF; END IF; END PROCESS; WITH sa SELECT Outputa 0110000 when 0001, --1 1101101 when 0010, --2 1111001 when 0011, --
显示全部
相似文档