欢迎来到天天文库
浏览记录
ID:41779084
大小:171.50 KB
页数:47页
时间:2019-09-02
《EDA实验考试参考程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.已知信号源脉冲频率为50M,试编写一分频程序,得到一周期为1秒(频率为1Hz)的脉冲频率。libraryieee;-----调用库useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityfpis-----实体说明port(inclk:instd_logic;------端口说明outputa:outstd_logic);endfp;architecturearch_fpoffpis------构造体说明signalfp:std_logic_vector(24downto0);------信号定义signalf:st
2、d_logic;beginprocess(inclk)------进程语句描述beginif(inclk'eventandinclk='1')then------将时钟分频至1Hziffp=24999999thenfp<="0000000000000000000000000";f<=notf;elsefp<=fp+1;endif;endif;endprocess;outputa<=f;endarch_fp;-------构造体结束libraryieee;-----调用库useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;ent
3、ityfpis-----实体说明port(inclk:instd_logic;------端口说明outputa:outstd_logic);endfp;architecturearch_fpoffpis------构造体说明signalfp:std_logic_vector(24downto0);------信号定义signalf:std_logic;beginprocess(inclk)------进程语句描述beginif(inclk'eventandinclk='1')then------将时钟分频至0.5Hziffp=12499999thenfp<="00000000000000
4、00000000000";f<=notf;elsefp<=fp+1;47endif;endif;endprocess;outputa<=f;endarch_fp;(2)编译与仿真。要求:自己设计,试用VHDL编写一10分频程序,并创建include文件。2,用文本输入法设计一个12归1电路,并进行功能测试,记录测试结果。时钟源采用已设置为include文件的分频电路fp所分得的1秒的时钟源。2.12归1电路设计(1)创建一个新的项目。点击File→Project→ProjectName项;输入项目名称。(2)打开文本编辑窗口。点击File菜单下New项,选TextEditor项。(3)时钟
5、源采用上面的分频电路所分得的1秒的时钟源。(4)用vhdl编写的例子libraryieee;-------调用库useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitytwelveto1is-------实体描述port(finclk:instd_logic;--------端口说明outputa:outstd_logic_vector(6downto0);outputb:outstd_logic_vector(6downto0));endtwelveto1;architecturearch_twelveto1oftw
6、elveto1is--------结构体描述signalsa:std_logic_vector(3downto0);signalsb:std_logic_vector(3downto0);signalf:std_logic;componentfp--------调用分频模块port(inclk:instd_logic;outputa:outstd_logic);endcomponent;beginu1:fpportmap(inclk=>finclk,outputa=>f);process(f)--------进程语句描述beginif(rising_edge(f))then--------
7、十二归一条件语句模块if(sa=2andsb=1)thensa<="0001";sb<="0000";47elseifsa=9thensa<="0000";sb<=sb+1;elsesa<=sa+1;endif;endif;endif;endprocess;withsaselect--段码转换模块outputa<="0110000"when"0001",--1"1101101"when"0010",--2"1111001
此文档下载收益归作者所有