欢迎来到天天文库
浏览记录
ID:60816867
大小:70.00 KB
页数:5页
时间:2020-12-20
《实验二-译码器设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验二译码器设计电信5班凌键宇0一、实验准备1)接上usb-blaster到开发板中间的JTAG接口,另一个接口接上电脑USB,然后接上电源设配器,为开发板通电。如果驱动安装成功则进行下个步骤,如果驱动没有安装成功则按照‘USB下载线驱动安装指南.doc’为usb-blaster安装驱动。驱动安装成功则开始按照实验要求进行系统设计。2)本次实验所使用开发板芯片信号为cyclone系列的EP2C8Q208C8N3)下载的步骤见附录。二、实验要求利用硬件描述语言设计一自定义译码器,其主要功能为下表所示:SW0SW1SW2SW3LED0~LED5↓xxx流水点亮1↓xx间隔点亮11↓x追逐点亮111
2、↓全部亮,并闪烁其中,↓表示有键按下,1表示无键按下,x表示不管有没有按键;流水点亮即为LED0先亮,然后LED0灭,LED1亮,依次类推;间隔点亮即为第一状态为LED0亮,第二状态为LED0保持亮、LED2亮,依次类推;追逐点亮即为第一状态为只有LED0亮,第二状态为LED0保持亮、LED1点亮,依次类推。具体LED0~LED5引脚,SW0~SW3引脚分配请参照开发板原理图。三、实验实现实验思路:首先检测按键SW0、SW1、SW2、SW3(按照优先级排序),根据按键进入不同的流水灯状态,然后不断循环。同时不断检测按键来切换流水灯状态。代码如下:libraryIEEE;useIEEE.STD_
3、LOGIC_1164.all;useIEEE.STD_LOGIC_unsigned.all;entityledisport(sysclk:instd_logic;--sw:instd_logic_vector(1down0);sw0,sw1,sw2,sw3:instd_logic;dout:outstd_logic_vector(5downto0));endled;architecturelsdofledissignalcnt:integerrange1downto0;signalcount1,count2,count3,count4:std_logic_vector(3DOWNTO0);si
4、gnalstate:std_logic_vector(1DOWNTO0);beginprocess(sysclk)beginif(sysclk'eventandsysclk='1')thencnt<=cnt+1;if(cnt=1)thencnt<=0;count1<=count1+1;if(count1="1001")thencount1<="0000";endif;count2<=count2+1;if(count2="0010")thencount2<="0000";endif;count3<=count3+1;if(count3="0101")thencount3<="0000";end
5、if;count4<=count4+1;if(count4="0001")thencount4<="0000";endif;endif;if(sw0='0')thenstate<="00";endif;if(sw1='0'andsw0='1')thenstate<="01";endif;if(sw2='0'andsw1='1'andsw0='1')thenstate<="10";endif;if(sw3='0'andsw0='1'andsw1='1'andsw2='1')thenstate<="11";endif;endif;endprocess;process(count1,count2,c
6、ount3,count4)beginif(state="00")thencasecount1iswhen"0000"=>dout<="";when"0001"=>dout<="";when"0010"=>dout<="";when"0011"=>dout<="";when"0100"=>dout<="";when"0101"=>dout<="";when"0110"=>dout<="";when"0111"=>dout<="";when"1000"=>dout<="";when"1001"=>dout<="";whenothers=>null;endcase;elsif(state="01")
7、thencasecount2iswhen"0000"=>dout<="";when"0001"=>dout<="";when"0010"=>dout<="";whenothers=>null;endcase;elsif(state="10")thencasecount3iswhen"0000"=>dout<="";when"0001"=>dout<="";when"0010"=>dout<="";
此文档下载收益归作者所有