欢迎来到天天文库
浏览记录
ID:57436143
大小:125.50 KB
页数:19页
时间:2020-08-15
《SOPC课程设计实验报告.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、SOPC课程设计实验报告基于SOPC的警示灯设计2013电子信息工程3班李婕罗丹妮一、设计目的1、熟悉掌握SOPC的基本流程2、设计一个警示灯并满足基本要求3、通过设计发现问题并解决二、设计设备1、硬件:PC机、SOPC-NIOSIIEDA/SOPC系统开发平台2、软件:QUARTUSII、SOPCBuilder、NIOSIIIDE三、设计内容•初始状态为红灯(LED2)熄灭,绿灯(LED1)点亮,数码管显示为0。•当按键按下,红灯(LED2)闪烁,绿灯(LED1)熄灭,同时蜂鸣器响起,数码管开始
2、倒计时9S,此状态持续时间为9s。•9s后,恢复初始状态。四、设计步骤1、使用QuartusII建立一个工程文件和顶层文件;2、使用SOPCBuilder建立一个简单NiosII硬件系统1)启动SOPCBuilder2)指定目标FPGA3)添加NiosII内核及其他外设A、添加NiosII、SRAM、JTAG-UART、Avalon总线的IP核B、添加一个2位的输入型PIO作为按键keyC、添加两个1位的输出型PIO作为led1及led2的输出端口D、添加一个1位的输出型PIO作为蜂鸣器的输入端口
3、AE、添加一个3位的输出型PIO作为数码管的位选selF、添加一个8位的输出型PIO作为数码管的段选dat4)指定基地址和中断优先级5)设置NiosII复位和异常地址6)编译生成NiosII系统SOPCBuilder行程图如下:3、在QuartusII中建立一个蜂鸣器1)用VHDL语言编写蜂鸣器程序2)编译成功后Creatsymbol,生成Projectsing4、在QuartusII中编译NiosII硬件系统并生成配置文件1)在QuartusII加入NiosII系统符号到顶层文件2)给各端口加入
4、输入输出引脚,并重命名3)设置参数4)编译顶层文件5)分配管脚6)再次编译5、在NiosIIIDE中建立C/C++工程,编写用户程序6、编译用户程序7、下载.SOF至FPGA,运行程序,观察结果五、设计程序蜂鸣器程序(VHDL):LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYsing1ISPORT(CLK:INSTD_LOGIC;p:INSTD_LOGIC;--DIGIT:BUFFERSTD_
5、LOGIC_VECTOR(6DOWNTO0);SPEAKER:OUTSTD_LOGIC);ENDENTITY;ARCHITECTURESONGOFsing1ISSIGNALDRIVER,ORIGIN:STD_LOGIC_VECTOR(12DOWNTO0);SIGNALCOUNTER:INTEGERRANGE0TO140;SIGNALCOUNTER1:INTEGERRANGE0TO3;SIGNALCOUNTER2:INTEGERRANGE1TO;SIGNALDIGIT:STD_LOGIC_VECTO
6、R(6DOWNTO0);SIGNALCOUNT:STD_LOGIC_VECTOR(1DOWNTO0);SIGNALCARRIER,CLK_4MHZ,CLK_4HZ:STD_LOGIC;BEGINPROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THENIFCOUNTER1=1THENCLK_4MHZ<='1';COUNTER1<=2;ELSIFCOUNTER1=3THENCLK_4MHZ<='0';COUNTER1<=0;ELSECOUNTER1<=COUNTER1+1;
7、ENDIF;IFCOUNTER2=THENCLK_4HZ<='1';COUNTER2<=;ELSIFCOUNTER2=THENCLK_4HZ<='0';COUNTER2<=1;ELSECOUNTER2<=COUNTER2+1;ENDIF;ENDIF;ENDPROCESS;PROCESS(CLK_4MHZ)BEGINIFCLK_4MHZ'EVENTANDCLK_4MHZ='1'THENIFDRIVER="11"THENCARRIER<='1';DRIVER<=ORIGIN;ELSEDRIVER<=D
8、RIVER+1;CARRIER<='0';ENDIF;ENDIF;ENDPROCESS;PROCESS(CARRIER)BEGINif(p='1')thenIFCARRIER'EVENTANDCARRIER='1'THENCOUNT<=COUNT+1;IFCOUNT="00"THENSPEAKER<='1';ELSESPEAKER<='0';ENDIF;ENDIF;endif;ENDPROCESS;PROCESS(CLK_4HZ)BEGINIFCLK_4HZ'EVENTANDCLK
此文档下载收益归作者所有