SOPC技术习题及答案
下面不是SOPC系統(tǒng)開發(fā)的軟件()
- A、
QuartusII
- B、
SOPC Builder
- C、
PSPTICE
- D、
NiosII IDE
正確答案: C?
?
在NiosII處理器寄存器中,總是存放0,對(duì)其讀寫無效的寄存器是(),保存異常返回地址寄存器是()
正確答案:
第一空:?
zero;R0
第二空:?
ea;r29
?
NiosII處理器中狀態(tài)寄存器的第0位是(),第一位是()
正確答案:
第一空:?
PIE
第二空:?
U
什么是SOC系統(tǒng),什么是SOPC系統(tǒng)?
正確答案:
SOC(System On a Chip)即片上系統(tǒng),即單芯片集成系統(tǒng)級(jí)、多元化的功能模塊,能夠處理各種信息的集成系統(tǒng)。其模塊包括CPU。存儲(chǔ)器、通用IO、UART接口和模數(shù)混合電路。
SOPC(System On a Programmable Chip),將處理器、存儲(chǔ)器、io接口等系統(tǒng)需要的功能模塊集成到一個(gè)FPGA器件上,從而構(gòu)成一個(gè)可編程的片上系統(tǒng)
簡(jiǎn)述NiosII處理器的三種類型并比較各自的性能差別
正確答案:
Nios II?處理器系列包括三種內(nèi)核
(1)Nios II/f (快速),性能最高,但占用的邏輯資源最多。
(2)Nios II/e (經(jīng)濟(jì)),占用的邏輯資源最少,但性能最低。
(3)Nios II/s (標(biāo)準(zhǔn)),平衡的性能和尺寸。NiosII/s內(nèi)核比第一代的Nios CPU更快,占用的資源更少。
?
如何進(jìn)行系統(tǒng)自動(dòng)地址分配和自動(dòng)中斷號(hào)分配
正確答案:
地址自勱分配:SYSTEM->Auto-assign Basic Addresses
是中斷癿自勱分配:SYSTEM-> Auto-assign IRQs
簡(jiǎn)述NiosII IDE開發(fā)流程
正確答案:
1、建立軟件工程,File->New->Project,選擇Nios II C/C++ Application
2、編輯,輸入程序代碼
3、系統(tǒng)庫(kù)屬性設(shè)置,在工程目彔區(qū)應(yīng)用工程名后單擊鼠標(biāo)史鍵后,選擇system library Properties
4、編譯
5、運(yùn)行調(diào)試
?
集成電路IP?
正確答案:
是經(jīng)過預(yù)先設(shè)計(jì),預(yù)先驗(yàn)證、符合產(chǎn)業(yè)界的設(shè)計(jì)規(guī)范和設(shè)計(jì)標(biāo)準(zhǔn),具有相當(dāng)獨(dú)立并可復(fù)用的電路模塊或子系統(tǒng)。
Avalon端口支持的傳輸特性有哪些
正確答案:
(1)等待周期傳輸,包括固定或可變等待,其中固定等待只適應(yīng)從端口;
(2)對(duì)從端口,有建立和保持時(shí)間傳輸;
(3)流水線傳輸,可分為固定或可變延遲流水線傳輸;
(4)突發(fā)傳輸,支持DMA傳輸
(5)三態(tài)傳輸,允許Avalon系統(tǒng)與片外標(biāo)準(zhǔn)總線接口設(shè)備直接相連
?
Avalon從端口信號(hào)類有哪些
正確答案:
(1)clk:?Avalon從端口的同步時(shí)鐘,所有的信號(hào)必須與clk同步,異步外設(shè)可以忽略clk信號(hào)。??
(2)?chipselect? :?Avalon從端口的片選信號(hào)。在chipselect信號(hào)無效的情況下,Avalon從端口忽略所有其它的信號(hào)。??
(3)address:?連接Avalon交換架構(gòu)和從端口的地址線,指定了從外設(shè)地址空間的一個(gè)字的地址偏移。??
(4)?read? :?讀從端口的請(qǐng)求信號(hào)。當(dāng)從端口不輸出數(shù)據(jù)時(shí)不需要使用該信號(hào),如果使用了該信號(hào),則readdata或data信號(hào)也必須使用。??
(5)?readdata? :?讀傳輸時(shí),輸出到Avalon交換架構(gòu)的數(shù)據(jù)線。當(dāng)從端口不輸出數(shù)據(jù)時(shí),不需要該信號(hào)。如果使用了該信號(hào),則data信號(hào)不能使用。??
(6)?write? :寫從端口的請(qǐng)求信號(hào)。當(dāng)從端口不從主端口接收數(shù)據(jù),不需要該信號(hào)
(7)?writedata? :寫傳輸時(shí),來自Avalon交換架構(gòu)的數(shù)據(jù)線。
(8)?byteenable? :字節(jié)使能信號(hào)。在對(duì)寬度大于8位的存儲(chǔ)器進(jìn)行寫傳輸時(shí),該信號(hào)用于選擇特定的字節(jié)段
(9)?writebyteenable? :相當(dāng)于byteenable信號(hào)和write信號(hào)的邏輯與操作
(10)?begintransfer? :?在每次傳輸?shù)牡谝粋€(gè)周期內(nèi)有效。使用用法取決于具體的外設(shè)。
?
簡(jiǎn)述具有可變等待周期的從端口讀傳輸傳輸特性
正確答案:
(A)第一個(gè)周期在clk的上升沿開始。
(B) Avalon交換架構(gòu)發(fā)出地址和read信號(hào)。
(C) Avalon交換架構(gòu)對(duì)地址進(jìn)行譯碼,然后驅(qū)動(dòng)chipselect信號(hào)。
(D)?從端口在下一個(gè)clk的上升沿置waitrequest信號(hào)有效。
(E) Avalon交換架構(gòu)在clk的上升沿采樣waitrequest,?waitrequest是有效的,所以在此時(shí)鐘沿?readdata沒被捕獲。
(F) waitrequest可能會(huì)持續(xù)一個(gè)不確定數(shù)目的周期。
(G)?從端口提供有效的readdata。
(H)?從端口置waitrequest無效。
(I) Avalon交換架構(gòu)在下一個(gè)clk的上升沿捕獲readdata,讀傳輸就此結(jié)束。下一個(gè)周期在此開始,另一次傳輸也可由此開始。
?
具有固定延遲的從端口流水線傳輸有哪些信號(hào)類型,分析下其傳輸特性
正確答案:
信號(hào)類型:clk、address、read、chipselect、waitrequest、readdata
傳輸特性:
(A) Avalon交換架構(gòu)通過提供新傳輸?shù)牡刂冯A段的chipselect、read和address信號(hào),發(fā)起一次讀傳輸。
(B)?從端口已經(jīng)置waitrequest有效,所以前一個(gè)周期稱為等待周期。Avalon交換架構(gòu)保持chipselect、read和?address不變。
(C)?從端口在clk的上升沿置waitrequest無效,并且捕獲address。地址階段結(jié)束,數(shù)據(jù)階段開始。
(D)?第一個(gè)延遲周期在clk的上升沿結(jié)束。
(E)?第二個(gè)延遲周期在clk的上升沿結(jié)束。從端口提供有效的readdata,傳輸結(jié)束。這個(gè)clk的上升沿也標(biāo)志著新的讀傳輸?shù)拈_始。
(F) Avalon交換架構(gòu)發(fā)出新傳輸?shù)腶ddress、read和chipselect信號(hào)。
(G) Avalon交換架構(gòu)在下一個(gè)周期發(fā)內(nèi),在前一次的傳輸?shù)臄?shù)據(jù)返回之前發(fā)起另一次的讀傳輸。
(H) Avalon交換架構(gòu)在兩個(gè)延遲周期之后捕獲readdata。
(I) Avalon交換架構(gòu)在兩個(gè)延遲周期之后捕獲readdata?。
?
指令主端口
正確答案:
Nios II指令總線作為32位Avalon主端口來實(shí)現(xiàn)。指令主端口只執(zhí)行一個(gè)功能:對(duì)處理器將要執(zhí)行的指令進(jìn)行取指。
?
數(shù)據(jù)主端口
正確答案:
Nios II數(shù)據(jù)總線作為32位Avalon主端口來實(shí)現(xiàn)。數(shù)據(jù)主端口執(zhí)行兩個(gè)功能:?
¨1.當(dāng)處理器執(zhí)行裝載指令時(shí),從存儲(chǔ)器或外設(shè)中讀數(shù)據(jù)。?
¨2.當(dāng)處理器執(zhí)行存儲(chǔ)指令時(shí),將數(shù)據(jù)寫入存儲(chǔ)器或外設(shè)
?
存儲(chǔ)器映射外設(shè)
正確答案:
?指外設(shè)和存儲(chǔ)器使用相同的總線來尋址,?并且CPU使用訪問存儲(chǔ)器的指令也用來訪問I/O設(shè)備。為了能夠?使用I/O設(shè)備,CPU的地址空間必須為I/O設(shè)備保留地址
?
主/從對(duì)
正確答案:
在進(jìn)行數(shù)據(jù)傳輸時(shí),由系統(tǒng)的互聯(lián)結(jié)構(gòu)連接的主端口和從端口? ?
?
等待周期
正確答案:
等待周期延長(zhǎng)讀傳輸?shù)臅r(shí)間,允許從端口使用一個(gè)或多個(gè)的時(shí)鐘周期來捕獲地址和/或返回有效的readdata,但是等待周期會(huì)影響從端口的吞吐量。
?
建立時(shí)間
正確答案:
在發(fā)出read信號(hào)之前,需要地址和chipselect信號(hào)先穩(wěn)定一段的時(shí)間
?
保持時(shí)間
正確答案:
?
保持時(shí)間用于需要address、byteenable、writedata、和chipselect信號(hào)在write脈沖之后保持幾個(gè)周期穩(wěn)定的片外外設(shè)
PIO內(nèi)核內(nèi)部定義了哪些寄存器?
正確答案:
1、數(shù)據(jù)寄存器:讀入輸入引腳上的邏輯電平值,或者向PIO輸出口寫入新值
2、方向寄存器:控制每個(gè)I/O口的輸入輸出方向。0:輸入;1:輸出。
3、中斷屏蔽寄存器?:使能或禁止每個(gè)輸入端口的IRQ。1:中斷使能;0:禁止中斷。
4、邊沿捕獲寄存器?:當(dāng)邊沿事件發(fā)生時(shí)對(duì)應(yīng)位置1。
?
UART內(nèi)核有哪些寄存器?
正確答案:
1、接收寄存器
2、發(fā)送寄存器
3、狀態(tài)寄存器
4、控制寄存器
5、波特率寄存器
6、數(shù)據(jù)包結(jié)束符
?
以串口為例,給出3種對(duì)字符設(shè)備訪問的方式
正確答案:
1、把串口設(shè)備配置為標(biāo)準(zhǔn)輸入stdin、標(biāo)準(zhǔn)輸出stdout和標(biāo)準(zhǔn)錯(cuò)誤stderr,然后使用C庫(kù)的printf()函數(shù)
2、把字符設(shè)備串口看作一個(gè)文件,使用打開文件函數(shù)fopen(),寫字符串函數(shù)fprintf(),文件關(guān)閉函數(shù)fclose()來訪問
JTAG UART
正確答案:
JTAG UART是實(shí)現(xiàn)PC和Nios II系統(tǒng)間癿串行途信接口,它用亍字符癿輸入輸出
?
PIO核
正確答案:
并行輸入/輸出內(nèi)核(PIO內(nèi)核)提供Avalon從控制器端口和通用I/O口②間的存儲(chǔ)器映射接口。
?
UART核
正確答案:
UART內(nèi)核(通用異步接收器/發(fā)送器內(nèi)核)執(zhí)行RS-232協(xié)議時(shí)序,并提供可調(diào)整的波特率,內(nèi)核提供一個(gè)簡(jiǎn)單的Avalon從控制器接口,該接口允許Avalon主控制器(例如NiosII處理器)通過讀寫寄存器與UART內(nèi)核進(jìn)行通訊。
?
NiosII IDE的Debug的目標(biāo)器件有哪些
正確答案:
Nios II硬件
Nios II指令仿真器
Nios II多處理器集
?
Nios II IDE為軟件開發(fā)提供4個(gè)主要功能:
正確答案:
(1)工程管理
(2)編輯器和編譯器
(3)調(diào)試器
(4)閃存編程器
?
?
簡(jiǎn)述NiosII IDE應(yīng)用程序開發(fā)的工程結(jié)構(gòu)
正確答案:
基于HAL的NiosII程序有兩個(gè)NiosII IDE工程組成:
1、用戶應(yīng)用工程(User Application Project),用戶代碼都包括在應(yīng)用工程中,對(duì)這個(gè)工程編譯得到最終的運(yùn)行程序。
2、系統(tǒng)庫(kù)工程(HAL System Library Project),當(dāng)用戶建立應(yīng)用工程時(shí),系統(tǒng)創(chuàng)建HAL系統(tǒng)庫(kù)工程,HAL包含了所有與底層硬件與用戶程序接口的相關(guān)信息
?
簡(jiǎn)述System.h系統(tǒng)說明文件的功能及包含硬件信息
正確答案:
System.h是HAL系統(tǒng)庫(kù)的基礎(chǔ),System.h文件為NiosII硬件系統(tǒng)提供完整的軟件說明,是硬件與軟件的連接點(diǎn)
System.h文件對(duì)系統(tǒng)中的每一個(gè)外圍設(shè)備進(jìn)行了說明,并提供如下詳細(xì)信息:
(1)外圍設(shè)備的硬件配置
(2)基地址
(3)中斷優(yōu)先級(jí)
(4)外圍設(shè)備符號(hào)名稱
?
定時(shí)器可進(jìn)行的基本操作有哪些?
正確答案:
1、Avalon主控制器通過對(duì)控制寄存器執(zhí)行不同的寫操作來控制:
(1)啟動(dòng)和停止定時(shí)器
(2)使能/禁能IRQ
(3)指定單次減1計(jì)數(shù)或連續(xù)減1計(jì)數(shù)模式
2、處理器讀狀態(tài)寄存器獲取當(dāng)前定時(shí)器的運(yùn)行信息。
3、處理器可通過寫數(shù)據(jù)到periodl和periodh寄存器來設(shè)定定時(shí)器周期。
4、內(nèi)部計(jì)數(shù)器計(jì)數(shù)減到0,立即從周期寄存器開始重新裝載。
5、處理器可以通過寫snapl或snaph獲取計(jì)數(shù)器的當(dāng)前值。
6、當(dāng)計(jì)數(shù)器計(jì)數(shù)到達(dá)0時(shí):
(1)如果IRQ被使能,則產(chǎn)生一個(gè)IRQ
(2)(可選的)脈沖發(fā)生器輸出有效持續(xù)一個(gè)時(shí)鐘周期
(3)(可選的)看門狗輸出復(fù)位系統(tǒng)
?
HAL API支持哪兩種類型的定時(shí)器,分別寫出它們的API函數(shù)
正確答案:
系統(tǒng)時(shí)鐘驅(qū)動(dòng),支持報(bào)警
API函數(shù):gettimeofday(),settimeofday(),times(),支持的標(biāo)準(zhǔn)Unix功能
alt_nticks(),alt_ticks_per_seconds(),alt_alarm_set(),alt_alarm_start()。定義在alt_alarm.h頭文件中
2.時(shí)間信息驅(qū)動(dòng),支持高分辨率的時(shí)間測(cè)量
API函數(shù):alt_timestamp_start(),alt_timestamp(),alt_timestamp_freq()
在alt_timestamp.h頭文件中定義
?
異常硬件處理流程
正確答案:
把status寄存器內(nèi)容復(fù)制到estatus寄存器中,保存當(dāng)前處理器狀態(tài);
清除status寄存器的U位為0,強(qiáng)制處理器進(jìn)入超級(jí)用戶狀態(tài);
?清除status寄存器的PIE位為0,禁止所有的硬件中斷;??
把異常返回地址寫入ea寄存器(r29);
跳轉(zhuǎn)到異常處理地址。
?
設(shè)計(jì)一個(gè)簡(jiǎn)單LED流水燈SOPC系統(tǒng),需要哪些外設(shè)IP?
正確答案:
1、NiosII CPU,選用經(jīng)濟(jì)型
2、片內(nèi)RAM(on-chip-RAM),容量40K,數(shù)據(jù)寬度32位
3、PIO核,8位輸出
?
結(jié)合LED控制的應(yīng)用程序,源程序定義了哪三個(gè)頭文件,程序那條語(yǔ)句實(shí)現(xiàn)對(duì)PIO核寫,其中函數(shù)括號(hào)里參數(shù)代表什么意義?
正確答案:
?三個(gè)頭文件
#include?"system.h" ? ?
#include?"altera_avalon_pio_regs.h" ??
?#include?"alt_types.h"?
PIO寫宏指令
IOWR_ALTERA_AVALON_PIO_DATA(PIO_LED_BASE, pio_led_data);
PIO_LED_BASE代表PIO外設(shè)在SOPC硬件系統(tǒng)中的基地址
pio_led_data表示寫入的數(shù)據(jù)
?
使用HAL API執(zhí)行中斷服務(wù)程序需要哪些步驟?
正確答案:
對(duì)于特殊的外圍器件需要自己編寫中斷服務(wù)函數(shù)
?void isr(void * context, alt_u32 id)
調(diào)用中斷服務(wù)函數(shù)注冊(cè)到HAL中
int alt_irq_register(alt_u32 id, void *context, void (*isr)()void *, alt_u32)
?
簡(jiǎn)述決定中斷服務(wù)程序性能的關(guān)鍵指標(biāo)有哪些?
正確答案:
中斷等待時(shí)間,從中斷最開始產(chǎn)生到處理器在異常地址中運(yùn)行第一條指令的時(shí)間
中斷響應(yīng)時(shí)間,從中斷開始產(chǎn)生到處理其運(yùn)行中斷服務(wù)程序的第一條指令的時(shí)間
中斷恢復(fù)時(shí)間,從執(zhí)行中斷服務(wù)程序最后一條指令開始到進(jìn)入到常規(guī)程序運(yùn)行的時(shí)間
?
簡(jiǎn)述HAL異常控制器處理外設(shè)中斷服務(wù)程序過程?
正確答案:
當(dāng)NiosII 處理器產(chǎn)生異常時(shí),頂層的異常控制器接收控制,頂層異常控制器將控制權(quán)傳遞給硬件中斷處理器,硬件中斷處理器將控制交個(gè)一個(gè)或者多個(gè)中斷服務(wù)程序
?
?
總結(jié)
以上是生活随笔為你收集整理的SOPC技术习题及答案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工信部发证 中国广电成第四大基础电信运营
- 下一篇: [php] laravel predis