|
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌i幋锝呅撻柛銈呭閺屾盯顢曢敐鍡欘槬缂備胶濮锋繛鈧柡宀€鍠栧畷婊嗩槾閻㈩垱鐩弻娑欑節閸屾粌鐓熼梺鍝勬湰閻╊垶銆侀弴銏″亹闁圭粯甯掗~鎾剁磽娴e搫浜鹃柛搴㈠▕閳ワ箓鎮滈挊澶庢憰闂佺粯姊婚崢褏绮堥崼銏″枑闊洦娲橀弳婊勭箾閹存瑥鐏柣鎾跺枛閺岀喖骞嗚閸ょ喐绻涢崣澶嬪唉闁哄矉绱曟禒锕傚礈瑜庨崚娑橆渻閵堝啫鐏繛鑼枛閵嗕線寮撮~顔剧◤濡炪倖鎸炬慨宄扳枖閸ф鈷掗柛灞剧懄缁佺増銇勯弴鍡楀濞堜粙鐓崶銊︾鐎规洖寮剁换婵嬫濞戝崬鍓伴梺钘夊暟閸犳牠寮婚妸銉㈡婵☆垯璀︽禒閬嶆⒑缁嬫鍎愰柟鐟版喘瀵偊骞囬鐔峰妳濠电娀娼ч悧蹇撯枖閸ф鈷掑ù锝呮啞閹牊淇婇锝囨创鐎规洘鍨挎俊鑸靛緞婵犲懏鎲伴梻浣虹帛濮婂鍩涢崼銉ユ瀬鐎广儱妫涚粻楣冩煙鐎电ǹ浠ч柟铏姈娣囧﹪顢曢姀鐘虫闁剧粯鐗犻弻锝咁潨閳ь剙岣胯缁傛帡鏁冮崒娑氬弳濠殿喗枪閸╂牠宕戦崒鐐寸厪闁割偅绻冨婵堢棯閹规劖顥夐棁澶愭煥濠靛棛澧㈤柡灞界墢缁辨捇宕掑☉姘兼殹闂侀潧娲ょ€氫即宕洪悙鍝勫瀭妞ゆ梻鈷堥悗鎶芥⒒娴e摜鏋冩い顐㈩樀瀹曞綊宕稿Δ鈧弸浣衡偓骞垮劚椤︻垳绮堢€n偁浜滈柟鑸妼婢у弶绻濋埗鈺佷壕闂傚倸鍊搁崐鐑芥嚄閼哥數浠氶梺鐓庡槻闁帮綁寮诲☉銏犖ㄩ柟瀛樼箖婵ジ鏌涢悙鍨毈婵﹦绮幏鍛存嚍閵壯佲偓濠囨⒑闂堚晝绉剁紒鐘虫崌閻涱喛绠涘☉娆愭闂佽法鍣﹂幏锟�
|
缂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ゆ繝鈧柆宥呯疅闁归棿鐒﹂崑瀣煕椤愶絿绠橀柣鐔哥叀濮婅櫣绮欏▎鎯у壈濡炪倖鍨靛Λ娑㈠箲閵忕姭鏀介柛銉㈡櫇閻﹀牓姊虹粙鎸庢拱缂侇喖鐭傞妴鍌毭洪鍛嫼缂傚倷鐒﹁摫閻忓繑澹嗙槐鎺旀嫚閼碱剙鈪甸悗娈垮枛椤攱淇婇幖浣哥厸闁稿本鐭花浠嬫⒒娴e懙褰掑嫉椤掑倻鐭欓柟杈惧瘜閺佸倿鏌ㄩ悤鍌涘
|
IC
|
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛婵°倗濮烽崑鐐烘偋閻樻眹鈧線寮撮姀鈩冩珖闂侀€炲苯澧扮紒顔碱煼閹晠鎳¢妶鍛导闂備焦鎮堕崕顖炲礉瀹ュ绠氶柛顐犲劜閻撶娀鏌℃径瀣嚋闁稿鍎甸弻锛勪沪閸撗勫垱闂佽桨绀侀崐濠氬箯閻樿绠甸柟鐑樻閸熷绱撻崒姘偓椋庢媼閺屻儱纾婚柟鐐灱閺€浠嬫煟濡搫绾у璺哄閺屾稒绻濋崟顒佹瘓闂佸搫琚崝宀勫煘閹达箑骞㈡繛鎴炲閸嬫挸螖閳ь剟鈥﹂懗顖fЪ濠电姰鍨洪敃銏ゅ春閵夛箑绶為柟閭﹀墰椤旀帡鎮楃憴鍕婵炲绠掗ˇ褰掓煛瀹€瀣?濞寸媴濡囬幏鐘诲箵閹烘繃缍嗛梻鍌欐祰椤曟牠宕伴幘璇茬9婵犻潧妫涢弳锕傛煙閻戞ê鐏嶆俊鎻掔墛閹便劌螖閳ь剙螞閺冨倹顫曢柨鐕傛嫹
|
缂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁惧墽鎳撻—鍐偓锝庝簻椤掋垺銇勯幇顏嗙煓闁哄被鍔戦幃銏ゅ传閸曟垯鍨荤槐鎺楀箛椤撗勭暦婵烇絽娲ら敃顏呬繆閸洖纾兼慨姗嗗亜椤ユ岸姊婚崒娆愵樂缂侀硸鍠氬濠冪鐎n亜绨ラ梺鑲╁帶婢у孩绂嶉懞銉х瘈闁汇垽娼ф禒婊勪繆椤愶絿娲寸€规洘鍨块獮姗€骞嶉幐搴℃诞闁轰焦鎹囬弫鎾绘晸閿燂拷
|
濠电姷鏁告慨鐑藉极閸涘﹥鍙忛柣鎴f閺嬩線鏌熼梻瀵割槮缁炬儳顭烽弻锝夊箛椤掍焦鍎撻梺鎼炲妼閸婂潡寮诲☉銏╂晝闁挎繂妫涢ˇ銉х磽娴e搫孝缂傚秴锕璇差吋婢跺﹣绱堕梺鍛婃处閸撴瑥鈻嶉敐澶嬧拺婵炶尪顕ч獮妤併亜閵娿儻韬€殿喛顕ч埥澶愬閻樼數鏉搁梻鍌氬€搁悧濠勭矙閹烘鍊跺〒姘e亾婵﹥妞介弻鍛存倷閼艰泛顏繝鈷€灞芥珝闁哄本绋掔换婵嬪磼濞戞ü娣柣搴㈩問閸n噣宕戞繝鍥╁祦婵☆垵鍋愮壕鍏间繆椤栨粎甯涙い蹇曞枛濮婄粯鎷呴懞銉с€婇梺闈╃秶缁犳捇鐛箛娑欐櫢闁跨噦鎷�
|
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌i幋锝呅撻柛銈呭閺屻倝宕妷锔芥瘎婵炲濮靛銊ф閹捐纾兼繛鍡樺笒閸橈紕绱撴笟鍥ф珮闁搞劌鐖兼俊鎾礃椤旂厧绐涢梺鍝勵槹閸ㄥ綊宕㈠ú顏呪拺闁告繂瀚埀顒€鎽滈懞閬嶅础閻愬稄缍佸畷濂稿Ψ閿旀儳甯鹃梻濠庡亜濞层倛澧濋梺绋款儐閹瑰洤鐣峰Δ鍛窛妞ゆ棃妫跨花濂告⒒閸屾艾鈧悂宕愬畡鎳婂綊宕惰閺嬫牠鏌¢崶銉ョ仼闂傚偆鍨堕弻銊╁即閻愭祴鍋撻崫銉т笉妞ゆ牜鍋為悡銉╂煟閺囩偛鈧湱鈧熬鎷�
|
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌i幋锝呅撻柛濠傛健閺屻劑寮撮悙娴嬪亾瑜版帒纾块柟瀵稿У閸犳劙鏌eΔ鈧悧鍡欑箔閹烘鐓曢柕濞垮劚閳ь剙顭烽獮澶愬箹娴g懓浜遍梺鍓插亝缁诲嫰鎮烽弻銉︹拺缂佸灏呮Λ姘舵煕閳哄倻澧垫鐐茬墦婵℃悂濡锋惔锝呮灁闁圭懓瀚版俊姝岊槾闁告洘锚閳规垿鎮╅幇浣告櫛闂佸摜濮甸〃鍡欐崲濞戞瑧绡€闁搞儜鍡樻啺闂備線娼ц墝闁哄懏绮撳畷鎴﹀幢濞戞瑧鍘遍柣蹇曞仜婢т粙鍩ユ径瀣ㄤ簻闊洢鍎茬€氾拷
|
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌i幋锝呅撻柛銈呭閺屾盯骞橀懠顒€濡介梺绋跨箲缁捇寮诲☉銏╂晝闁挎繂妫涢ˇ銉╂⒑濮瑰洤鈧繄绮婚弽顓炶摕闁挎繂顦粻娑欍亜閹捐泛袨闁稿鍋ゅ娲传閸曢潧鍓扮紓浣割槸缂嶅﹤顕f繝姘╅柕澶堝灪閺傗偓闂備胶纭跺褔寮插⿰鍡椻偓鎾⒒閸屾瑧绐旈柍褜鍓涢崑娑㈡嚐椤栫偛鍌ㄩ柛婵勫劤绾惧ジ鏌ら幖浣规锭闁告繆娅i埀顒侇問閸n噣宕戞繝鍥╁祦婵☆垵鍋愮壕鍏间繆椤栨粎甯涙い蹇曞枛濮婄粯鎷呴懞銉с€婇梺闈╃秶缁犳捇鐛箛娑欐櫢闁跨噦鎷�
|
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌i幋锝呅撻柛濠傛健閺屻劑寮村Δ鈧禍鎯ь渻閵堝簼绨婚柛鐔告綑閻g柉銇愰幒婵囨櫔闂佸憡渚楅崹浼村极閹间焦鈷掑〒姘e亾闁逞屽墰閸嬫盯鎳熼娑欐珷闁规鍠氱壕濂稿级閸稑濡兼繛鎼枟椤ㄣ儵鎮欑€涙ê纾冲Δ鐘靛仦鐢帡鍩為幋锕€閱囨繝闈涙搐閳ь剦鍨跺铏规嫚閸欏鏀銈庡亜椤︻垳鍙呭┑鈽嗗灣閸樠囧垂濠靛鐓欓柟瑙勫姦閸ゆ瑩鏌$€b晝绐旈柡宀€鍠栧畷婊嗩槾閻㈩垱鐩弻锟犲川椤旇棄鈧劙鏌$仦璇插闁诡喓鍊濆畷鎺戔槈濮楀棔绱�
|
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛婵°倗濮烽崑鐐烘偋閻樻眹鈧線寮撮姀鈩冩珖闂侀€炲苯澧撮柟顔兼健椤㈡岸鍩€椤掑嫬钃熼柨婵嗘啒閺冨牆鐒垫い鎺戝閸嬪鈹戦悩鍙夋悙闁活厽顨婇悡顐﹀炊閵娧€濮囬梺缁樻尵閸犳牠寮婚悢鍛婄秶闁告挆鍚锋垵顪冮妶鍐ㄥ姎妞わ妇鏁诲璇测槈濮楀棙鍍靛銈嗗笒閸婄粯顨欓梻鍌欑閹碱偆鎮锕€绀夐柟杈剧畱缁犳牠鏌曢崼婵愭Ц缁炬儳鍚嬬换娑㈠箣閻戝洣绶垫繛瀵搞€嬮幏锟�
|
婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柛娑橈攻閸欏繘鏌i幋锝嗩棄闁哄绶氶弻鐔兼⒒鐎靛壊妲紒鐐劤椤兘寮婚敐澶婄疀妞ゆ帊鐒﹂崕鎾绘⒑閹肩偛濡奸柛濠傜仢椤繑绻濆顒勫敹闂佺粯鏌ㄦ晶搴f崲娓氣偓濮婃椽骞栭悙娴嬪亾閺嶎灐娲偄閻撳海鐣洪柣鐔哥懃鐎氥劑宕戞繝鍥ㄥ仭濞达綁娼ч埀顒佸姍瀹曟垿骞樼拠鑼姦濡炪倖甯掔€氼參鎮″☉銏″€甸柨婵嗙凹缁ㄤ粙寮崼銉︹拺闁告繂瀚~锕傛煕閺冣偓閸ㄥ潡鐛崘顔嘉у璺猴功閿涙粌鈹戦悙鏉戠仸闁挎洍鏅滅€靛ジ鏁撻敓锟�
|
闂傚倸鍊搁崐鎼佸磹瀹勬噴褰掑炊椤掑鏅悷婊冪Ч濠€渚€姊虹紒妯虹伇婵☆偄瀚板鍛婃媴缁洘鏂€闂佺粯锚閻ゅ洦绔熷Ο鑲╂/闁硅鍔﹂崵娆撴煃鐟欏嫬鐏撮柟顔规櫊瀹曪絾寰勭€n偄鈧绱撻崒娆戝妽闁告梹鐗犻妴鍐幢濡皷鏀虫繝鐢靛Т濞层倕娲块梻浣告啞娓氭宕㈤挊澶嗘灁闁靛ň鏅滈埛鎴犵磽娴e顏嗙箔閹烘鐓ラ柡鍥ュ妺闁垳鈧鍠栭…閿嬩繆閹间礁鐓涢柛灞剧煯缁ㄤ粙姊绘担鍛靛綊寮甸鍌滅煓闁硅揪瀵岄弫鍌炴煥閻曞倹瀚�
|
缂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁惧墽鎳撻—鍐偓锝庝簼閹癸綁鏌i鐐搭棞闁靛棙甯掗~婵嬫晲閸涱剙顥氶梻鍌欐祰椤曟牠宕规导瀛樺剹闁稿本姘ㄩ弳锕傛煙閻戞ê鐏嶉柛顐邯閺屾稑鈽夐崡鐐典紙缂備浇绮惧▍鏇犳崲濠靛棌鏋旈柛顭戝枟閻忓秹鏌$€e吀閭柡灞剧洴閸╋繝宕掑⿰鍐f嫲闁诲氦顫夊ú妯好洪弽顓ф晣闁稿繒鍘х欢鐐烘倵閿濆骸澧€殿喗濞婂缁樻媴閾忕懓绗″┑鐐插级閻楃姴鐣烽幇鏉挎嵍妞ゆ挻绋戞禍鐐叏濡厧浜鹃悗姘炬嫹
|
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴闇夐柨婵嗙墛椤忕姷绱掗埀顒佺節閸屾鏂€闂佺粯蓱瑜板啴鍩€椤掆偓椤曨厾妲愰幘鎰佹僵閺夊牄鍔岄弸鎴︽⒑閸濆嫬鏆欓柣妤€瀚伴崺鈧い鎴f硶缁愭梻鈧鍠曠划娆撱€佸鈧幃娆撴嚑閸ㄦ稑浜鹃柛顭戝枓閺€浠嬫煥濞戞ê顏╁ù鐘欏懐纾兼い鏇炴噹閻忥妇鈧鍣崑濠囧箖閳哄啰纾兼俊顖炴敱鐎氬ジ姊婚崒娆戣窗闁稿妫濆畷鎴濃槈濮樿京鐓嬮梺姹囧灮椤d粙宕戦幘鎰佹僵闁绘劦鍓欓锟�
|
|
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌i幋锝呅撻柛銈呭閺屾盯骞橀懠顒夋М闂佹悶鍔嶇换鍐Φ閸曨垰鍐€妞ゆ劦婢€缁爼姊洪崫鍕仴闁稿海鏁诲璇测槈閵忊晜鏅濋梺缁樕戣ぐ鍐╂叏鎼淬劍鈷戠紒瀣劵椤箓鏌涢弬璺ㄧ劯婵犫偓娓氣偓濮婅櫣绱掑Ο蹇d簻铻e┑鐘叉搐绾惧潡鐓崶銊︾缁炬儳銈搁弻锝呂熼幐搴e涧缂備浇娉涘鍫曞Φ閸曨垼鏁囬柣鎰綑娴犳挳姊虹涵鍛彧缂侇喗鎸歌灋闁告劑鍔夊Σ鍫熸叏濡も偓濡瑧绱炵€n喗鈷掗柛灞捐壘閳ь剚鎮傚畷鎰板箹娴e摜锛涢梺绯曞墲缁嬫垿宕归崒鐐寸厱妞ゆ劧绲剧粈鈧梺钘夊暟閸犳牠寮婚弴鐔虹闁绘劦鍓氶悵鏇㈡⒑缁嬫鍎忔俊顐g箞瀵鈽夊顐e媰闂佸憡鎸嗛埀顒€危閸繍娓婚柕鍫濇嚇閻涙粓鏌熼崙銈嗗
|
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌i幋锝呅撻柛濠傛健閺屻劑寮撮悙娴嬪亾瑜版帒纾块柟瀵稿У閸犳劙鏌eΔ鈧悧鍡欑箔閹烘鐓曢柕濞垮劚閳ь剙娼″濠氭晝閳ь剝鐏掓繛鎾村嚬閸ㄥ崬鐨紓鍌氬€搁崐鎼佸磹閻熼偊娼╅柕濞炬櫅缁犵喖鏌涘☉姗堟敾闁稿海鍠栭弻鏇熺箾閸喖濮㈤梺姹囧€曠€氭澘顫忓ú顏咁棃婵炴番鍎遍悧鎾愁嚕閹绘巻妲堥柕蹇娾偓鍏呯暗婵犵數鍋為崹顖炲垂濞差亝鍋傞柡鍥ュ灪閸婂爼鏌i幇顓炵祷闁抽攱妫冮弻宥夋寠婢舵ɑ效闂侀潧娲ょ€氫即銆侀弴銏╂晢闁稿本绮庡Σ鍥ㄧ節濞堝灝鏋涢柨鏇樺妼閳诲秹鏁愭径濠勵唹闂佸憡娲﹂崹鐗堝劔闂備線娼ч¨鈧┑鈥虫穿閵囨劕顫濋懜纰樻嫽婵炶揪绲块崕銈夊吹閳ь剟姊洪幖鐐测偓鏍偋閻樿崵宓侀煫鍥ㄧ⊕閺呮悂鏌ㄩ悤鍌涘
|
LED闂傚倸鍊搁崐鎼佸磹閹间礁纾圭€瑰嫭鍣磋ぐ鎺戠倞妞ゆ帒顦伴弲顏堟偡濠婂啰绠绘鐐村灴婵偓闁靛牆鎳愰濠傗攽鎺抽崐鎰板磻閹惧墎妫柟顖嗗嫬浠撮梺鍝勭灱閸犳劕岣胯箛娑樼鐟滃繘寮抽悩鐢电=濞达絽鎼宀勬煕閵娿儳鍩g€殿喖顭锋俊鎼佸煛閸屾矮绨介梻浣呵归張顒傜矙閹达富鏁傞柨鐕傛嫹
|
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌i幋锝呅撻柛銈呭閺屾盯骞橀懠顒夋М闂佹悶鍔嶇换鍐Φ閸曨垰鍐€闁靛ě鍛帒闂備礁鎼Λ娆戝垝閹捐钃熼柣鏂垮悑閸婄粯鎱ㄥΔ鈧Λ娆撴偩閻戣姤鈷戦柛婵嗗閸h櫣绱掔拠鑼ⅵ鐎殿喖顭峰鎾偄妞嬪海鐛梻浣稿閸嬪懐鎹㈤崒娑欏弿濠㈣埖鍔栭埛鎴︽偠濞戞巻鍋撻崗鍛棜闂傚倷鐒︾€笛兠洪弽顓炵9鐟滅増甯楅崑鍌炴煕閹板吀绨奸柛鐘冲姈缁绘繈妫冨☉鍗炲壈缂備胶濯崹鍫曞蓟閵娾晜鍋嗛柛灞剧☉椤忥拷
|
您现在的位置: 华玉生活网 >> 技术文库 >> 无线 >> 正文>> 梺体中文

FSL总线IP核及其在MicoBlaze系统中的应用

摘要:MicroBlaze是基于Xilinx公司新一代FPGA器件的软处理器核。其FSL总线是FIFO单向链路,可以实现用户自定义IP核与MicroBlaze内部通用寄存器的高速直连。本文对MicroBlaze的几种主要总线接口摘要进行比较,详细分析、介绍FSL总线的结构、特点、工作原理和配置方法。通过一个矢量汉字还原的应用实例,具体描述在FPGA片上系统设计中利用FSL高速总线整合用户自定义IP核,实现软处理器系统硬件加速的方法及步骤。关键词:FPGAIP核FSL摘要:  MicroBlaze是基于Xilinx公司新一代FPGA器件的软处理器核。其FSL 总线是FIFO单向链路,可以实现用户自定义IP核与MicroBlaze内部通用寄存器的高速直连。本文对MicroBlaze的几种主要总线接口摘要进行比较,详细分析、介绍FSL总线的结构、特点、工作原理和配置方法。通过一个矢量汉字还原的应用实例,具体描述在FPGA片上系统设计中利用FSL高速总线整合用户自定义IP核,实现软处理器系统硬件加速的方法及步骤。

关键词 :FPGA  IP核  FSL总线  软核处理器  MicroBlage 

引 言
    
    随着半导体制造工艺的发展,以FPGA(现场可编程门阵列)为代表的新一代可编程逻辑器件(PLD)的逻辑资源密度不断增加,使得可编程技术很自然地就与系统芯片集成技术(SoC)的结合日益紧密,并逐步成为可配置平台技术(configurable platform)的主流。
    
    目前,各主要PLD厂商基于FPGA的可配置平台虽然大都采用“微处理器十可编程逻辑”的架构,但在开发基于FPGA的嵌入式系统时,却采用了各自不同的方式来整合处理器系统与片上的其他逻辑资源(大多数以用户IP核形式出现)。MicroBlaze软核处理器是Xilinx公司为其FPGA器件开发的,其特有的FSL(Fast Simplex Link,快速单向链路)总线,可以实现用户IP核与软核处理器的高速连接,为设计者提供了一条解决这类问题的途径。

1 MicroBlaze软核处理器

1.1 概 述
    
    MicroBlaze是基于Xilinx公司FPGA的微处理器软IP核。它采用RISC架构和哈佛结构的32位指令和数据总线,内部有32个32位宽度的通用寄存器;在150 MHz的时钟频率下,最高可达到125 DMIPS的处理性能,其逻辑结构如图1所示(图中省略了指令侧的同类接口)。使用Xilinx公司提供的EDK(嵌入式系统开发套件),可以在参数化的图形界面下方便地完成嵌入式软处理器系统的设计。其突出的优点,一是设计灵活性;二是可以整合用户自定义IP核,使得算法可以在硬件中并行地执行而不是在软件中串行执行,从而极大地加速软件的执行速度,即所谓的硬件加速。

1.2 MicroBlaze软核总线接口
    
    MicroBlaze软处理器核具有丰富的接口资源。目前,最新版本的MicroBlaze软核支持的接口标准有:
    ◆带字节允许的OPB(On-chip Peripheral Bus,片上外设总线)V2.0接口;
    ◆高速的LMB(Local Memory Bus,本地存储器总线)接口;
    ◆FSL 主从设备接口;
    ◆XCL(Xilinx Cache Link,Xilinx缓存链路)接口;
    ◆与MDM(微处理器调试模块)连接的调试接口。
    OPB是对IBM Core Connect片上总线标准的部分实现,适用于将IP核作为外设连接到MicroBlaze系统中。LMB用于实现对片上的blockRAM的高速访问。 FSL是MicroBlaze软核特有的一个基于FIFO的单向链路,可以实现用户自定义IP核与MicroBlaze内部通用寄存器的直接相连;而 XCL则是MicroBlaze软核新增加的,用于实现对片外存储器的高速访问。MicroBlaze软核还有专门的调试接口,通过参数设置,开发人员可以只使用特定应用所需要的处理器特性。

1.3 MicroBIaze系统的硬件加速
    
    将用户IP核整合到基于MicroBlaze的嵌入式软核处理器系统中,通常有两种方法:一种方法是将IP核连接到OPB总线;第二种方法就是将用户IP连接到MicroBlaze专用的FSL总线上。OPB与FSL比较如表1所列。
 
    注:①数据分别来自opb_v20和FSL_v20数据手册;

          ②该数据是在总线配置为1主2从情况下得到的;

          ③该数据对MicroBlaze软核而言。

    从表1可见,尽管OPB和FSL都是MicroBlaze软核与FPGA其他片上逻辑资源连接的主要途径,但其特点决定了分工是不同的:OPB总线适用于将低速和低性能要求的设备连接到MicroBlaze系统中;而FSL总线则适用于将时间要求高的用户自定义IP核整合到基于MicroBlaze的软核系统中,以实现硬件加速。

2 FSL总线

2.1 FSL总线接口
    
    FSL总线是一个基于FIFO的单向点对点通信总线,主要用于FPGA的两个模块问进行快速的通信。FSL总线IP核结构如图2所示,FSL接口的I/O信号如表2所列。

该接口的主要特点:
    
    ◆单向的点对点通信;
    ◆非共享的无仲裁通信机制;
    ◆支持控制位与数据分离的通信;
    ◆基于FIFO的通信模式;
    ◆可配置的数据宽度;
    ◆高速的通信性能(独立运行达到600 MHz)。

2.2 FSL总线的写操作时序
   
    对FSL总线的写操作是由FSL_M_Write信号控制的。图3是FSL总线的写操作时序。FSL主设备在第一个时钟上升沿检查到FSL_M_Full 信号未置高,就允许主设备将FSL_M_Write置高,并将FSL_M_Data和FSL_M_Control推上总线,在下一个时钟周期这些数据就被总线读取并送入FIFO了。图中的Write2和Write3是一组“背靠背”的连续写操作。在Write3时,FIFO满使得FSL_M_Full信号被置高,迫使主设备取消自己的FSL_M_Write信号,直到一次读操作将FSL_M_Full置低后,才可以发起另一次写操作。因此,图中暗示着在 Write4处也发生了一次从设备的读操作,否则FSL_M_Full将再次置高。 


2.3 FSL总线读操作时序
    
    对FSL总线的读操作是由FSL_S_Read信号控制的,图4是FSL从设备的3次读操作时序。当FSL总线上存在有效数据(FSL_S_Exists =‘1’),FSL_M_Data上的数据和FSL_M_Control上的控制位就立即可以被FSL从设备读取。一旦从设备完成读操作, FSL_S_Read信号必须置高一个时钟周期,以确认从设备成功完成了一次读操作。在读操作发生后的时钟上升沿(图中Read2处), FSL_M_Data和FSL_M_Control会被更新为新数据,同时FSL_S_Exists和FSL_M_Full信号也会被更新。同样,这里暗示着在Readl和Read2之间发生了两次主设备的写操作。

3 FSL总线用法

3.1 使用FSL总线IP核的设备间通信   
    
    目前Xilinx提供的FSL总线IP核的版本是FSL_V20。两个设备要使用FSL进行数据传输,就必须分别作为主设备或从设备连接到FSL核上。如果需要进行双向的传输,只要两个设备分别作为主从设备,使用两个FSL核连接即可。
    
    无论是作为主设备或是从设备,都需要通过在设备的微处理器外设描述文件(MPD)中进行相应的定义,以实现所需类型的FSL接口。下面这段代码就是一个分别定义了FSL主设备接口FSL_OUT和从设备接口FSL_IN的MPD文件:
    BEGIN my_fsl_peripheral
    OPTl0N IPTYPE=PERIPHERAL
    OPTl0N IMP_NETLIST=TRUE
    BUS_INTERFACE BUS=FSL_IN,BUS_STD=FSL,BUS TYPE=SLAVE
    BUS_INTERFACE BUS=FSL_OUT,BUS_STD=FSL,BUS_TYPE=MASTER
    ##Ports
    PORT CLK=””,DIR=IN,SIGIS=CLK
    PORT RESET=””。DIR=IN
    PORT FSL_S_READ=FSL_S_Read,DIR=out,BUS=FSL_IN
    PORT FSL_S_DATA=FSL_S_Data,DIR=in,VEC=[o:31],BUS=FSL_IN
    PORT FSL_S_CONTROL=FSL_S_Control,DIR=in, BUS=FSL_IN
    PORT FSL_s_EXISTS=FSL_S_Exists,DIR=in,BUS=FSL_IN
    PORT FSL_M_WRITE=FSL_M_Write,DIR=out,BUS=FSL_OUT
    PORT FSL_M_DATA=FSL_M_Data,DIR=out,VEC=[o:31],BUS=FSL_OUT
    PORT FSL_M_CONTROL=FSL_M_Control,DIR=out, BUS=FSL_OUT
    PORT FSL_M_FULL=FSL_M_Full,DIR=in,BUS=FSL_OUT

3.2 通过FSL与MicroBlaze通信
    
    MicroBlaze软核的FSL总线接口支持最多8对FSL连接,具体实现多少接口由系统硬件描述文件(MHS)中的参数C_FSL_LINKS决定。默认情况下该参数为0,表示不实现FSL接口。当需要使用FSL总线把MicroBlaze和FPGA中的一个或多个逻辑模块连接起来时,必须设置该参数的值为相应的模块数。该参数的取值范围是0~8。
    在MicroBlaze指令集中还有针对FSL总线操作的指令,它们分别是:
    ◆get,put——阻塞式数据读写FSL,控制信号被置为0;
    ◆nget,nput——非阻塞式数据读写FSL,控制信号被置为0;
    ◆cget,cput——阻塞式控制位读写FSL,控制信号被置为1;
    ◆ncget,ncput——非阻塞式控制位读写FSL,控制信号被置为1。

4 FSL总线应用实例
    
    在下面的实例中,尝试通过FSL总线技术,将实现特定函数功能的用户自定义IP核整合到MicroBlaze软核系统中,以实现硬件加速的目的。这里以一个矢量汉字(vector font)还原功能的硬件模块的整合为例,说明FSL总线的应用过程。所使用的开发平台是Memec Insight公司生产的Virtex—II系列的MicroBlaze开发板,板上采用的FPGA器件为Virtex—II 1000,系统时钟为100 MHz,开发工具为Xilinx公司的EDK 6.3及ISE 6.3。

4.1 FSL总线应用方案
    
    如图5所示,vectOr_font核通过FSL_Code-与FSL_Lattice两条FSL总线与MicroBlaze软核直接相连。

    对于FSL_Code总线,MicroBlaze核是主设备,而vector_font核是从设备。这样MicroBlaze可以通过FSL_Code总线向vectOr_font核发送汉字的区位码(或者其他格式的汉字编码,由使用的矢量字库和还原算法决定)以及汉字的属性信息(如字体、大小等)。
    
    对于FSL_Lattice总线则正好相反。vector font 核作为主设备可以通过它向MicroBlaze核发送经过还原处理后的汉字点阵数据以及汉字点阵尺寸信息(用于将点阵数据在显存中组织成正确的显示格式)。

4.2 数据传输指令与控制位指令的应用
    
    FSL 提供的独立于数据传输的控制位可以用来对正在传输中的数据进行标记。为了区分区位码数据与汉字属性数据,以及点阵数据与汉字点阵尺寸数据。 MicroBlaze分别通过FSL的数据传输指令和控制位传输指令来发送汉字的区位码和汉字属性信息,接收点阵数据和汉字点阵尺寸信息。对应的实现代码如下:
    //使用非阻塞的数据写函数向FSL总线写入汉字区位码Microblaze_nbwrite_datatsl(code,O)
    //使用非阻塞的控制位写函数向FSL总线写入汉字属性信息maicroblaze_cnbwrite_cnlfsl(attibute,O)
    //使用非阻塞的数据读函数从FSL总线读取汉字点阵数据microblaze_nbread_datafsl(1attice,O)
    //使用非阻塞的控制位读函数从FSL总线读取汉字点阵尺寸信息microblaze_cnbread_cnlfsl(size,O)
    
    代码中用到的与FSL有关函数的定义,都在include目录下的mb_interface.h文件中。其中,各函数的第二个参数代表进行读写操作的 FSL总线接口的编号,对应Mi—croBlaze软核的8对FSL接口。该参数的取值范围从0到7。本例中,MicroBlaze只使用了一对FSL接口,故而值为0。

4.3 实现步骤
    
    首先,在Base System Wizard中设计图5虚线框中所示的一个简单的MicroBlaze嵌入式处理器系统。然后,在XPS集成开发环境下完成用户自定义IP核(本例中即 vectoz__font核)的添加、Microblaze核FSL接口的添加(设置参数C_FSL_LINKS=1),同时添加两个FSL总线IP核,分别用于实现FSL_Code和FSL_Lattice总线。另外,将两个FSL总线IP核的参数C_USE_CONTROL置为1,以打开FSL总线的控制位传输功能。所有这些改动,最后都会被更新到MES文件中。这样,硬件平台生成工具platgen就可以根据它生成所需要的FPGA配置文件了。
    
    硬件的实现完成后,进行相应软件参数的设置,如将系统标准输入输出设备指向UART模块等。然后,用库生成工具libgen,根据MSS(系统软件描述文件)文件,将所需外设函数库的头文件添加进工程中。

    通过调用这些函数,可以操作和控制这些外设。通过Tool项里的build命令,调用mb—gcc:编译工具,将编写的应用程序编译成ELF文件,再用 updatebitstrcam命令将程序代码对应的RAM初始化数据添加到前面生成的FPGA配置文件中,生成最终的bit配置文件。最后,使用 download命令将bit文件下载到目标板中。

    以上就是整个FSL应用实例设计的实现过程。本例只是为了说明FSL总线的使用。实际应用中,还可以根据具体情况通过FSL,将更多的用户自定义IP核(如DCT、FFT等)添加到.MicroBlaze软核系统中去。

5.结 语
    
    在嵌入式系统的开发中,人们一直希望能够有一个满足自己需要的“定制”的嵌入式处理器,而不是手头大量存在的通用微处理器。但是,直接将用户自定义IP核添加到处理器核中,不仅受到处理器原架构的束缚,还有可能降低处理器的性能(处理器工作频率);而通过与内部寄存器直接相连的FSL接口,用户自定义IP 可以在不破坏处理器原有结构的情况下,紧密地与MicroB- laze软核结合在一起。这样,即使关键路径覆盖了用户IP 核,由于它在处理器内核之外,也不会导致处理器时钟频率的降低。
    
    通过对FSL总线的分析以及上述实例的验证,证明了在基于MicroBlaze的SoC 系统设计中,一方面可以针对具体应用进行“量体裁衣”式的设计;另一方面,利用其专用的FSL总线接口技术,实现嵌入式软处理器系统与用户自定义逻辑的整合,从而在不提高系统主频的前提下,通过部分函数功能的硬件实现来提升系统的性能。


  • 扩展阅读
  • 上一个文章:
  • 【返回网站首页】 【返回无线】
  • 下一个文章:
  • 【字体: 】【】【发表评论】【加入收藏】【告诉好友】【打印此文
    文章 软件 电影 商品

    相关文章

    本站公告

    • 扫一扫,打赏给我们,谢谢!

      本站2016年12月16日起取消ruida.org.cn域名,该域名正式作废,该域名发布任何信息与本站无关。


      启用ruida.orghy928.net域名;

      瑞达网,瑞达科技网宣

    专 题 栏 目

    • 24CXX93CXX彩电、显示器数据/存储器读写器制作
      24CXX93CXX彩电、显示器数据/存储器读写器软件下载
       婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柛娑橈攻閸欏繘鏌i幋锝嗩棄闁哄绶氶弻鐔兼⒒鐎靛壊妲紒鎯у⒔缁垳鎹㈠☉銏犵闁绘劕鐏氶崳褏绱撴担绋款暢闁稿鍊濆璇测槈閵忕姈銊︺亜閺冨倸甯舵い顐熸櫇缁辨挻鎷呴幓鎺嶅闂備礁澹婇崑鍡涘窗閹捐泛濮柍褜鍓熷濠氬磼濮樺崬顤€缂備礁顑嗙敮锟犲极瀹ュ绫嶉柛顐ゅ枔閸橀箖姊洪崫鍕垫Ъ婵炲娲樼粋鎺楀閵堝棭姊挎繝銏e煐閸旀牠鎮¢妷锔剧瘈闂傚牊绋掗ˉ鐐烘煕閿濆棙銇濋柟顔肩秺楠炲洭濡搁妷銉㈡嫟闂備線娼уú銈団偓姘嵆瀹曟椽鏁撻悩鑼槰闂侀潧枪閸庤京绮婚敐澶嬧拻濞达絿鐡旈崵鍐煕閻樺磭娲撮柨婵堝仦瀵板嫰骞囬鍌ゅ數闂備礁鎲$粙鎺戓缚濞嗘劕顕遍柣妯肩帛閻撳繐顭块懜寰楊亪鎮橀敐鍥╃<闁逞屽墯缁绘繈宕熼鐙呯闯闂備胶枪閺堫剟鎮疯钘濋柨鏂款潟娴滄粓鏌ㄩ弮鍥跺殭闁诲骏绠撻弻鐔碱敊閻偒浜崺鐐哄箣閻橆偄浜鹃柨婵嗙凹缁ㄤ粙鏌涘▎灞戒壕濠电姷鏁告慨浼村垂婵傜ǹ鏄ラ柡宥庡幖缁€澶愭煛閸モ晛啸濞戞挸绉撮埞鎴︽偐瀹曞浂鏆¢梺绋匡工閻忔氨鎹㈠☉銏犵闁绘垵妫旈惀顏勵渻閵堝懐绠版俊顐n殜钘熸慨妯垮煐閻撴洟鏌熼柇锕€澧柍缁樻礃缁绘盯骞橀幇浣哄悑闂佸搫鏈ú鐔风暦閻撳簶鏀介柛顐犲焺閸炴椽姊虹拠鑼嚬缂佹彃顭峰畷鎴﹀箛椤旂瓔娼熼梺鍦劋椤ㄥ繘寮繝鍥ㄧ厽闁挎繂鎳忓﹢浼存煕閿涘崬鍠氬〒濠氭煏閸繃顥炵紒宀冩硶缁辨挸顓奸崟顓фМ闂佷紮绲块崗姗€鐛崶顒佸亱闁割偅绻€缁ㄥ姊绘担鐟板姢缂佺粯顨婇敐鐐村緞婵犲海鍞甸梺纭呮彧闂勫嫰鍩涢幒鎳ㄥ綊鏁愰崨顔兼殘闂佽鍨伴悧濠勬崲濞戞矮娌柛灞捐壘椤洭鎮楃憴鍕;闁告濞婇悰顔嘉熼懖鈺冿紲濠碘槅鍨靛銊у垝瑜斿缁樻媴閼恒儳銆婇梺闈╃秶缁犳捇鐛箛娑欐櫢闁跨噦鎷�
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
        没有任何评论

    | 服务声明 | 充值中心| 华安五金电器 | 收费标准| 论坛| 留言| 实用查询| 会员中心| 下载帮助| 设为首页|

    技术支持:瑞达科技 即时交谈QQ:237013889 QQ群:13810759 E-Mail:237013889@qq.com
    非盈利网站,如有侵权,请来信来电告知,第一时间处理,谢谢!
    桂ICP备17008104号 华玉生活网网站统计
    tj