收藏 分销(赏)

纯手工打造一个SOPC系统.pptx

上传人:快乐****生活 文档编号:4163407 上传时间:2024-08-08 格式:PPTX 页数:152 大小:3.64MB
下载 相关 举报
纯手工打造一个SOPC系统.pptx_第1页
第1页 / 共152页
纯手工打造一个SOPC系统.pptx_第2页
第2页 / 共152页
纯手工打造一个SOPC系统.pptx_第3页
第3页 / 共152页
纯手工打造一个SOPC系统.pptx_第4页
第4页 / 共152页
纯手工打造一个SOPC系统.pptx_第5页
第5页 / 共152页
点击查看更多>>
资源描述

1、Page 12024/8/8大綱大綱nSOPC H.W+S.W 設計流程設計流程nQUARTUS II 環境中建立新環境中建立新SOPC Projectn新新project中建立出主要執行專案中建立出主要執行專案n在在NIOS II IDE 開發環境中建立專案之軟體開發環境中建立專案之軟體Projectn結語結語Page 22024/8/8大綱大綱nSOPC H.W+S.W 設計流程設計流程nQUARTUS II 環境中建立新環境中建立新SOPC Projectn新新project中建立出主要執行專案中建立出主要執行專案n在在NIOS II IDE 開發環境中建立專案之軟體開發環境中建立專案之

2、軟體Projectn結語結語Page 32024/8/8SOPC H.W+S.W 設計流程設計流程StartEnd建立QUARTUS II 新專案主要執行專案 中建立 NISO II CPU 軟體專案主要執行專案 燒入 FPGA BootROM與 NISO II CPU 軟體專案 燒入FLASH MEMORY 進行產品 Standalone Page 42024/8/8大綱大綱nSOPC H.W+S.W 設計流程設計流程nQUARTUS II 環境中建立新環境中建立新SOPC Projectn新新project中建立出主要執行專案中建立出主要執行專案n在在NIOS II IDE 開發環境中建立

3、專案開發環境中建立專案B之軟體之軟體Projectn結語結語Page 52024/8/8建立一個新的資料匣,取名“handiwork”Page 62024/8/8File-New Project WizardPage 72024/8/8點NextPage 82024/8/8點此處出現Select Directory 對話盒,選擇剛所建立的空目錄handiworkPage 92024/8/8點Next取名handiwork取名handiworkPage 102024/8/8點NextPage 112024/8/8點Next型號EP1C12Q240C8C選取FPGA 家族型號 CyclonePag

4、e 122024/8/8可選取Third Party的Synthesis tools,如Synplify Pro,FPGA Compiler II可選取Third Party的Simulation tools,如Modelsim使用預設的,全部都不勾選,直接按下 NextPage 132024/8/8本頁顯示FPGA Device的summary與project 的工作路徑,直接按下 NextPage 142024/8/8產生出一個handiwork的專案Page 152024/8/8大綱大綱nSOPC H.W+S.W 設計流程設計流程nQUARTUS II 環境中建立新環境中建立新SOPC

5、Projectn新新project中建立出主要執行專案中建立出主要執行專案n在在NIOS II IDE 開發環境中建立專案開發環境中建立專案B之軟體之軟體Projectn結語結語Page 162024/8/8專案B:建立含SDRAM,FALSH,GPIO,LCD,UART 等NIOS II SYSTEM打開handiwork.qpf檔Page 172024/8/8執行Tools-SOPC BuilderPage 182024/8/8輸入名稱handi_nios2選擇以Verilog 為system netlist的表達方式點選OKPage 192024/8/8選擇Add New Nios II

6、 Processor Altera Corp 選項按住滑鼠右鍵Page 202024/8/8選擇 第二種CPU點NextPage 212024/8/8Instruction Cache 設2Kbyte點NextPage 222024/8/8點NextPage 232024/8/8點FinishPage 242024/8/8產生cpu_0為Instance Name的NIOS II CPUPage 252024/8/8選擇Add New JTAG UART按住滑鼠右鍵Page 262024/8/8點NextPage 272024/8/8點FinishPage 282024/8/8產生jtag_u

7、art_0為Instance Name 的JTAG UART IPPage 292024/8/8選擇Add New Avalon Tri-State Bridge按住滑鼠右鍵Page 302024/8/8點FinishPage 312024/8/8產生tri_state_bridge_0為instance Name 的Avalon Bus IPPage 322024/8/8選擇Add New Character LCD按住滑鼠右鍵Page 332024/8/8產生lcd_16207_0為instance Name 的LCD Controller IPPage 342024/8/8選擇Add N

8、ew Flash Memory IC按住滑鼠右鍵Page 352024/8/8822Next己自動對應到handiwork_flash 的 U5Page 362024/8/83545點FinishPage 372024/8/8產生cfi_flash_0為instance Name 的flash memory controller IPPage 382024/8/8選擇Add New SDRAM Controller按住滑鼠右鍵Page 392024/8/8點FinishPage 402024/8/8產生sdram_0為instance Name 的SDRAM controller IPPage

9、 412024/8/8選擇Add New On-Chip Memory按住滑鼠右鍵Page 422024/8/8點FinishPage 432024/8/8產生onchip_memory_0為instance Name 的On-Chip Memory controller IPPage 442024/8/8選擇Add New Interval Timer按住滑鼠右鍵Page 452024/8/8點FinishPage 462024/8/8產生timer_0為instance Name 的Timer IPPage 472024/8/8選擇Add New UART按住滑鼠右鍵Page 482024

10、/8/8點Finish1152008None1Page 492024/8/8產生uart_0為instance Name 的UART IPPage 502024/8/8選擇Add New PIO按住滑鼠右鍵Page 512024/8/8點Finish4選Input ports only(用於按鍵輸入)Page 522024/8/8Rename按住滑鼠右鍵Page 532024/8/8更名成key_sPage 542024/8/8選擇Add New PIO按住滑鼠右鍵Page 552024/8/8點Finish8Page 562024/8/8Rename按住滑鼠右鍵Page 572024/8/8

11、更名成led_sdPage 582024/8/8Lock Base Address按住滑鼠右鍵位址設定成0 x00000000設定flash memory controller 的起始位址0 x00000000,且Lock住Page 592024/8/8出現Lock符號Page 602024/8/8讓SOPC Builder 自動設定位址Page 612024/8/8讓SOPC Builder 自動設定IRQsPage 622024/8/8完成自動安排後的位址與IRQsPage 632024/8/8點選 Generates進行編譯SOPC硬體架構設定:Reset Address 對應cfi_f

12、lash_0Exception Address對應sdram_0Break Location對應cpu_0/jtag_debug_module讓開機時NIOS CPU 會跳至Reset Address執行程式即在cfi_flash(flash memory)執行指令,而flash 的位址偏移0的地方會有一支bootload 程式,負責將flash 裏的程式載入到Exception Address中,並跳至Exception Address中執行程式進入Settings頁面Page 642024/8/8完成編譯SOPC硬體架構點Exit離開SOPC BuilderPage 652024/8/8回

13、到 Quartus Project下執行File-NewPage 662024/8/8選擇Bolck Diagram/Schematic FileOKPage 672024/8/8產生一個新的Block Diagram/Schematic視窗Page 682024/8/8點”Insert Symbol”ICON展開Project資料匣選擇handi_nios2預覽視窗出現handi_nios2 IP點OK,把它放入Block Diagram/Schematic視窗中Page 692024/8/8handi_nios2已放入Block Diagram/Schematic視窗中Page 70202

14、4/8/8建立PLL IP,讓外部輸入的clk=50MHz,產生更穏定的50MHz 給SOPC System畫面空白處按右鍵選擇Insert選擇Symbol BlockPage 712024/8/8按下MegaWizard.Page 722024/8/8按下NextPage 732024/8/8展開I/O選擇ATLPLL取名handi_pll按下NextPage 742024/8/8輸入50.00按下NextPage 752024/8/8在page 4 of 8 下,將這裡的選項取消,再點下Next。按下Next將這裡的選項全部取消Page 762024/8/8按下Next設定頻率要乘幾除幾,

15、選擇乘1除1Page 772024/8/8按下NextPage 782024/8/8按下Next勺選使用此clockPage 792024/8/8按下FinishPage 802024/8/8點”Insert Symbol”ICON展開Project資料匣選擇handi_pll預覽視窗出現handi_pll IP點OK,把它放入Block Diagram/Schematic視窗中Page 812024/8/8handi_pll已放入Block Diagram/Schematic視窗中Page 822024/8/8點”Insert Symbol”ICON展開Primatives資料匣選擇inpu

16、t預覽視窗出現Input pin IP點OK,把它放入Block Diagram/Schematic視窗中Page 832024/8/8Input Pin已放入Block Diagram/Schematic視窗中Page 842024/8/8改名字,輸入clk於Input pin上快速點二下按確定Page 852024/8/8連線起來點wire 符號連線起來Page 862024/8/8建立delay reset block(de bounce)畫面空白處按右鍵選擇Insert選擇Symbol BlockPage 872024/8/8按下MegaWizard.按下NextPage 882024

17、/8/8選擇LPM_COUNTER按下Next取名handi_lpm_counterPage 892024/8/8選擇10bits按下NextPage 902024/8/8勾選按下Next勾選Page 912024/8/8按下Next勾選Page 922024/8/8按下FinishPage 932024/8/8File-NewPage 942024/8/8Block Diagram/Schematic File按下OKPage 952024/8/8畫面空白處按右鍵選擇Insert選擇Symbol BlockPage 962024/8/8展開Projrct資料匣選擇handi_lpm_coun

18、ter點OK,把它放入Block Diagram/Schematic視窗中Page 972024/8/8把handi_lpm_counter放入Block Diagram/Schematic視窗中Page 982024/8/8展開Primitives/logic資料匣選擇not點OK,把not gate放入Block Diagram/Schematic視窗中點選Insert Symbol ICONPage 992024/8/8放置2個not gatePage 1002024/8/8展開Primitives/logic資料匣選擇and2點OK,把and2 gate放入Block Diagram/

19、Schematic視窗中點選Insert Symbol ICONPage 1012024/8/8展開Primitives/pin資料匣選擇Input點OK,把Input pin放入Block Diagram/Schematic視窗中點選Insert Symbol ICONPage 1022024/8/8放置2個Input Pin更名為clkin更名為rst_nPage 1032024/8/8展開Primitives/pin資料匣選擇Output點OK,把Output pin放入Block Diagram/Schematic視窗中點選Insert Symbol ICONPage 1042024/

20、8/8放置一個output pin於此,並且更名為reset_nPage 1052024/8/8完成wire連接透過wire ICON繪製電路圖。Page 1062024/8/8File-Save As Page 1072024/8/8輸入 delay_rst 按下儲存 Page 1082024/8/8選擇Create Symbol Files for Current FilePage 1092024/8/8delay_rst symbol已建立,按下確定Page 1102024/8/8展開Projects資料匣選擇delay_rst點OK,把delay_rst放入Block Diagram/

21、Schematic視窗中點選Insert Symbol ICON回到handiwork.bdf 視窗Page 1112024/8/8把delay_rst放入Block Diagram/Schematic視窗中Page 1122024/8/8展開Primitives/pin資料匣選擇Input點OK,把Input pin放入Block Diagram/Schematic視窗中點選Insert Symbol ICONPage 1132024/8/8放置3個Input Pin取名rst取名S3.0取名RXDPage 1142024/8/8選取wire ICON連接4條線(wire)Page 1152

22、024/8/8選取bus ICON連接1條滙流排(bus)Page 1162024/8/8由上至下取名lcd_e lcd_rs lcd_rwlcd_data7.0lcd_data採用bi-direction portlcd_e、lcd_rs、lcd_rw採用output portlcd_data7.0採用bus connection設定LCD Controller PORTPage 1172024/8/8取名 SD7.0設定7-Segment LED OUTPUT PORTInsert output pinPage 1182024/8/8插入6個output port由上至下取名sdram_c

23、assdram_ckesdram_cssdram_rassdram_wesdram,_clkPage 1192024/8/8完成sdram controller 的wire型式之output port連接連接到sdram_clkPage 1202024/8/8插入3個output port由上至下取名sdram_addr11.0sdram_ba1.0sdram_dqm3.0用bus連接起來Page 1212024/8/8插入1個bi-direction port,取名sdram_data31.0用bus連接起來Page 1222024/8/8插入4個output port,取名flash_ce

24、flash_oeflash_weflash_byte用wire連接起來Flash Memory資料採用byte mode,所以引用接地Page 1232024/8/8插入1個output port,取名flash_addr21.0插入1個bi-direction port取名flash_data7.0用bus連接起來Page 1242024/8/8插入2個output port,取名SEL0與SEL1用wire連接起來插入1個output port,取名TXD用wire連接起來Page 1252024/8/8將handiwork_pin_assignment_for_chirkal.txt內容

25、複製到 handiwork.qsf檔尾Page 1262024/8/8腳位assignment完成後按下start compilation按鈕,開始Place&RoutePage 1272024/8/8Page 1282024/8/8大綱大綱nSOPC H.W+S.W 設計流程設計流程nQUARTUS II 環境中建立新環境中建立新SOPC Projectn新新project中建立出主要執行專案中建立出主要執行專案n在在NIOS II IDE 開發環境中建立專案之軟體開發環境中建立專案之軟體Projectn結語結語Page 1292024/8/8快速點撃滑鼠左鍵二下,進入SOPC Builde

26、r程式開始進入SOPC 軟體程式開發Page 1302024/8/8File-SOPC Builder Setup確定工作路徑符合目前project路徑,若不符合,請修正成目前所對應於硬體Project的正確路徑,否則進入NIOS II IDE程式會軟硬不搭配之錯誤,造成UploadRUN等動作無法順利執行與FLASH PROGRAMMING失敗等問題Page 1312024/8/8執行Nios II IDE 選項Page 1322024/8/8確定Workspace與硬體Project路徑符合按下OK按鈕Page 1332024/8/8Page 1342024/8/8File-New-C/C

27、+ApplicationPage 1352024/8/8自行取名handiwork_demo點Next有許多範例供選擇,預設Hello WorldPage 1362024/8/8點FinishPage 1372024/8/8自行產生三個資料匣自行產Hello World 之C語言程式Page 1382024/8/8將handiwork_demo_program.c.txt的程式內容整個覆製到Nios II IDE的hello_world.cPage 1392024/8/8點Save ICON 儲存Page 1402024/8/8選擇 Build Project進行Device Driver與程

28、式之編譯按下滑鼠右鍵Page 1412024/8/8Page 1422024/8/8點下RUN ICONPage 1432024/8/8點下New點下Run執行程式預設對應到在SOPC Builder裏所設定的Project Path檢視電路板上的LCD,UART(連接超級終端機115200,8,N,1)與7-Segment LED的是否有動作Page 1442024/8/8C:Altera_ProjectNIOS1C_V3.2sopc_labhandiworkhandiwork_demo_syslibDebugsystem_descriptionsystem.h用文書編輯器打開system.

29、h,路徑如下:可看到與硬體有關的配置,而你的C程式有include“system.h”目的就是讓你的C程式可以與hardware連接在一起,例如對7段顯示器的I/O動作,透過呼叫IOWR_ALTERA_AVALON_PIO_DATA(LED_SD_BASE,segj);而LED_SD_BASE就定義在system.h中另外,在UART與LCD部份,則有用到fp=fopen(UART_0_NAME,w);lcd=fopen(LCD_16207_0_NAME,w);而UART_0_NAME與LCD_16207_0_NAME都有在system.h中定義LED_SD_BASE為七段顯示器之位址Page

30、 1452024/8/8示範:將程式燒到flash memory中,供開機後就可自動執行,產生standalone 效果執行Tools-Flash ProgrammerPage 1462024/8/8點New點Program Flash,開始燒錄到Flash memoryPage 1472024/8/8燒錄到flash memory的console畫面即燒錄的執行過程載入handiwork_flash的FPGA架構檔.SOFPage 1482024/8/8#Programming flash with the project$SOPC_KIT_NIOS2/bin/nios2-flash-pro

31、grammer-input=cfi_flash_0.flash-sof=C:/Altera_Project/NIOS1C_V3.2/sopc_lab/handiwork/handiwork_flash/system/handiwork_flash.sof-base=0 x00400000Feb 22,2007 11:43:05 AM-(?)nios2-flash-programmer:Launching Quartus Programmer to download:C:/Altera_Project/NIOS1C_V3.2/sopc_lab/handiwork/handiwork_flash/

32、system/handiwork_flash.sofPre-Reading 71KBytes of data from U5:|-.-+-.-|*(1.719 sec).Erasing 9 Sectors:|-.-+-.-|*(3.234 sec).Writing 128KBytes:|-.-+-.-|*(8.922 sec).Verifying 128KBytes of data:|-.-+-.-|*(1.578 sec).Feb 22,2007 11:43:30 AM-(?)nios2-flash-programmer:Success.Verified 128Kbytes written

33、to U5.Feb 22,2007 11:43:30 AM-(?)nios2-flash-programmer:Flash programming completeWARNING:Default charset MS950 not supported,using ISO-8859-1 instead燒錄到flash memory的console畫面 燒錄的執行過程會使用專案A所建立的target_board_project(handiwork_flash)來燒錄Page 1492024/8/8把power關掉,再打開Power,即可看到,剛燒錄在flash memory裏的程式自動的被nios

34、 II cpu執行起來了,其實是有一段bootload 程式將handiwork_demo程式搬到sdram然後nios cpu在sdram中執行該程式Standalone 測試Page 1502024/8/8大綱大綱nSOPC H.W+S.W 設計流程設計流程nQUARTUS II 環境中建立新環境中建立新SOPC Projectn新新project中建立出主要執行專案中建立出主要執行專案n在在NIOS II IDE 開發環境中建立專案之軟體開發環境中建立專案之軟體Projectn結語結語Page 1512024/8/8結語結語n學會從無到有學會從無到有,打造出打造出SOPC 的硬體的硬體+軟體平台軟體平台n讓讓SOPC 的硬體的硬體+軟體軟體 StandaloneF每次重新上電就自動執行n讓讓FPGA 更具有設計彈性更具有設計彈性,軟硬體皆是可程式化軟硬體皆是可程式化n設計設計S.O.C晶片時晶片時,可以先在可以先在FPGA上驗證上驗證nFPGA實現系統整合單一晶片之功能實現系統整合單一晶片之功能,System on Programmable Chip!Page 1522024/8/8Q&AThank You for Your Attention!

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服