欢迎来到天天文库
浏览记录
ID:50222256
大小:95.94 KB
页数:7页
时间:2020-03-05
《三角波、梯形波的输出.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、三角波及阶梯波实验报告一、功能描述二、元件及其VHDL代码1、三角波代码、波形仿真及元件signal3libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitysignal3is--三角波signal3port(clk,reset:instd_logic;--复位信号reset,时钟信号clkq:outstd_logic_vector(7downto0));--输出信号q,8位数字信号endsignal3;architectureaofsignal3is
2、beginprocess(clk,reset)variabletmp:std_logic_vector(7downto0);variablea:std_logic;beginifreset='1'thentmp:="00000000";elsifrising_edge(clk)thenifa='0'then--a=0,实现加法计数iftmp="11111110"thentmp:="11111111";--加法计数全1时,令a=1a:='1';elsetmp:=tmp+1;--加法计数endif;elseiftmp="00000001"thentm
3、p:="00000000";--减法计数全0时,令a=0a:='0';elsetmp:=tmp-1;--减法计数endif;endif;endif;q<=tmp;--信号输出,产生三角波endprocess;enda;2、阶梯波代码、波形仿真及元件signal4libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitysignal4is--阶梯波signal4port(clk,reset:instd_logic;--复位信号reset,时钟信号clkq:
4、outstd_logic_vector(7downto0));--输出信号q,8位数字信号endsignal4;architectureaofsignal4isbeginprocess(clk,reset)variabletmp:std_logic_vector(7downto0);beginifreset='1'thentmp:="00000000";elsifrising_edge(clk)theniftmp="11111111"thentmp:="00000000";elsetmp:=tmp+16;--阶梯信号的产生,阶梯变化值=16end
5、if;endif;q<=tmp;endprocess;enda;2、数据选择器代码及元件shujuxuanzeqilibraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityshujuxuanzeqiisport(sel:instd_logic_vector(2downto0);--选择信号seld1,d2,d3,d4,d5,d6:instd_logic_vector(7downto0);--6路输入信号q:outstd_logic_vector(7dow
6、nto0));--被选择信号输出endshujuxuanzeqi;architectureaofshujuxuanzeqiisbeginprocess(sel)begincaseseliswhen"001"=>q<=d1;--选择信号sel=001,选择第1路信号输出when"010"=>q<=d2;--选择信号sel=010,选择第2路信号输出when"011"=>q<=d3;--选择信号sel=011,选择第3路信号输出when"100"=>q<=d4;--选择信号sel=100,选择第4路信号输出when"101"=>q<=d5;--选择信
7、号sel=101,选择第5路信号输出when"110"=>q<=d6;--选择信号sel=110,选择第6路信号输出whenothers=>null;endcase;endprocess;enda;2、综合电路仿真图及电路仿真波形图
此文档下载收益归作者所有