SOPC课程设计实验报告.docx

SOPC课程设计实验报告.docx

ID:57436143

大小:125.50 KB

页数:19页

时间:2020-08-15

SOPC课程设计实验报告.docx_第1页
SOPC课程设计实验报告.docx_第2页
SOPC课程设计实验报告.docx_第3页
SOPC课程设计实验报告.docx_第4页
SOPC课程设计实验报告.docx_第5页
资源描述:

《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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。