微波EDA网,见证研发工程师的成长! 2025濠电姷鏁告慨鐑藉极閸涘﹥鍙忛柟缁㈠枟閸庡顭块懜闈涘缂佺嫏鍥х閻庢稒蓱鐏忣厼霉濠婂懎浜惧ǎ鍥э躬婵″爼宕熼鐐差瀴闂備礁鎲¢悷銉ф崲濮椻偓瀵鏁愭径濠勵吅闂佹寧绻傚Λ顓炍涢崟顓犵<闁绘劦鍓欓崝銈嗙箾绾绡€鐎殿喖顭烽幃銏ゅ川婵犲嫮肖闂備礁鎲¢幐鍡涘川椤旂瓔鍟呯紓鍌氬€搁崐鐑芥嚄閼搁潧鍨旀い鎾卞灩閸ㄥ倿鏌涢锝嗙闁藉啰鍠栭弻鏇熺箾閻愵剚鐝曢梺绋款儏濡繈寮诲☉姘勃闁告挆鈧Σ鍫濐渻閵堝懘鐛滈柟鍑ゆ嫹04闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁惧墽鎳撻—鍐偓锝庝簼閹癸綁鏌i鐐搭棞闁靛棙甯掗~婵嬫晲閸涱剙顥氬┑掳鍊楁慨鐑藉磻閻愮儤鍋嬮柣妯荤湽閳ь兛绶氬鎾閳╁啯鐝曢梻浣藉Г閿氭い锔诲枤缁辨棃寮撮姀鈾€鎷绘繛杈剧秬濞咃絿鏁☉銏$厱闁哄啠鍋撴繛鑼枛閻涱噣寮介褎鏅濋梺闈涚墕濞诧絿绮径濠庢富闁靛牆妫涙晶閬嶆煕鐎n剙浠遍柟顕嗙節婵$兘鍩¢崒婊冨箺闂備礁鎼ú銊╁磻濞戙垹鐒垫い鎺嗗亾婵犫偓闁秴鐒垫い鎺嶈兌閸熸煡鏌熼崙銈嗗24闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁惧墽鎳撻—鍐偓锝庝簼閹癸綁鏌i鐐搭棞闁靛棙甯掗~婵嬫晲閸涱剙顥氬┑掳鍊楁慨鐑藉磻閻愮儤鍋嬮柣妯荤湽閳ь兛绶氬鎾閳╁啯鐝栭梻渚€鈧偛鑻晶鎵磼椤曞棛鍒伴摶鏍归敐鍫燁仩妞ゆ梹娲熷娲偡閹殿喗鎲奸梺鑽ゅ枂閸庣敻骞冨鈧崺锟犲礃椤忓棴绱查梻浣虹帛閻熴垽宕戦幘缁樼厱闁靛ǹ鍎抽崺锝団偓娈垮枛椤攱淇婇幖浣哥厸闁稿本鐭花浠嬫⒒娴e懙褰掑嫉椤掑倻鐭欓柟杈惧瘜閺佸倿鏌ㄩ悤鍌涘 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁惧墽鎳撻—鍐偓锝庝簼閹癸綁鏌i鐐搭棞闁靛棙甯掗~婵嬫晲閸涱剙顥氬┑掳鍊楁慨鐑藉磻閻愮儤鍋嬮柣妯荤湽閳ь兛绶氬鎾閻樻爠鍥ㄧ厱閻忕偛澧介悡顖氼熆鐟欏嫭绀€闁宠鍨块、娆戠磼閹惧墎绐楅梻浣告啞椤棝宕橀敐鍡欌偓娲倵楠炲灝鍔氭繛鑼█瀹曟垿骞橀懜闈涙瀭闂佸憡娲﹂崜娑㈡晬濞戙垺鈷戦柛娑樷看濞堟洖鈹戦悙璇ц含闁诡喕鍗抽、姘跺焵椤掆偓閻g兘宕奸弴銊︽櫌婵犮垼娉涢鍡椻枍鐏炶В鏀介柣妯虹仛閺嗏晛鈹戦鑺ュ唉妤犵偛锕ュ鍕箛椤掑偊绱遍梻浣筋潐瀹曟﹢顢氳閺屻劑濡堕崱鏇犵畾闂侀潧鐗嗙€氼垶宕楀畝鍕厱婵炲棗绻戦ˉ銏℃叏婵犲懏顏犵紒杈ㄥ笒铻i柤濮愬€ゅΣ顒勬⒒娴e懙褰掓晝閵堝拑鑰块梺顒€绉撮悞鍨亜閹哄秷鍏岄柛鐔哥叀閺岀喖宕欓妶鍡楊伓闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻锝夊箣閿濆憛鎾绘煕婵犲倹鍋ラ柡灞诲姂瀵挳鎮欏ù瀣壕闁告縿鍎虫稉宥夋煛瀹ュ骸骞楅柣鎾存礃閵囧嫰骞囬崜浣荷戠紓浣插亾闁逞屽墰缁辨帡鎮欓鈧崝銈夋煟韫囨梻绠為柛鈺冨仱楠炲鏁傞挊澶夋睏闂佽楠稿﹢杈ㄦ叏閹绢啟澶娾攽閸垻锛濇繛杈剧到閹碱偊顢撳畝鍕厱闁靛ǹ鍎抽崺锝団偓娈垮枛椤攱淇婇幖浣哥厸闁稿本鐭花浠嬫⒒娴e懙褰掑嫉椤掑倻鐭欓柟杈惧瘜閺佸倿鏌ㄩ悤鍌涘
首页 > 硬件设计 > 嵌入式设计 > 基于FPGA的多软核图像处理系统设计

基于FPGA的多软核图像处理系统设计

时间:06-05 来源:互联网 点击:

本设计在Altera Cyclone II EP2C35F672C6芯片上实现多软核系统,旨在利用FPGA芯片的并行处理结构以及两个Nios II软核处理器间的并行处理和协作,提升数字图像处理系统的性能。

1 CSC MegaCore IP核

Altera视频图像处理组合是Altera公司提供的一组用于开发视频和图像处理的MegaCore IP核。这些MegaCore IP在涉及图像处理和显示的应用中有着广泛应用。这些IP核的功能包括:颜色空间转换、色度重采样、伽玛校正、二维FIR滤波器、二维中值滤波器等[1]。

颜色空间是在三维坐标系下精确表示各种颜色的三维线性空间。不同的颜色空间采用不同的基色:RGB颜色空间采用红、绿、蓝三种颜色;CMY颜色空间采用青、品红、黄三种颜色。不同的硬件设备使用不同的颜色空间,例如:计算机显示器使用RGB颜色空间,数字电视使用YCbCr(亮度色度)颜色空间。将图像数据在使用不同颜色空间的硬件设备间传输时,通常都需要进行颜色空间的转换[2]。颜色空间转换(CSC)MegaCore提供了灵活且高效的方式将图像数据从一个颜色空间转换到另一个颜色空间。

在两个不同的颜色空间进行图像数据的转换时,需要提供一个特定的、具有12个系数的转换矩阵。该矩阵中的系数由进行转换的两个颜色空间决定。例如:din_0、din_1、din_2为被输入的像素在原颜色空间下的坐标,[x0,x1,x2,…,x11]为转换矩阵的系数,dout_0、dout_1、dout_2为输入像素经转换后在目标颜色空间下的坐标,则计算方法如下:

dout_0=x0×din_0+x1×din_1+x2×din_2+x3

dout_1=x4×din_0+x5×din_1+x6×din_2+x7

dout_2=x8×din_0+x9×din_1+x10×din_2+x11

2 CSC MegaCore IP核与Nios II系统的接口设计

本设计的CSC MegaCore IP具有两个Avalon端口:一个只写的Avalon从端口,用于接收Nios II软核处理器通过Avalon总线传来的输入数据;另一个Avalon主端口,将经过CSC MegaCore IP处理后的数据通过Avalon总线写到存储器中。

完成上述两个Avalon接口的功能,需要CSC MegaCore IP对外提供如下几个必备的Avalon总线信号:reset、clock信号用于系统复位和时钟信号;write、writedata信号用于只写的Avalon从端口;write、writedata、address信号用于Avalon主端口(用于Avalon主端口和用于只写的Avalon从端口的write、writedata是不同的信号,只是名称相同)。

由于定制的CSC MegaCore IP没有提供Avalon主端口需要的address信号,所以在本设计中需要增加地址生成逻辑功能。增加该功能有两种方式:第一种方式是对由定制自动生成的CSC MegaCore IP的顶层设计进行更改,在CSC顶层设计文件对外提供的接口中增加address信号,并且在CSC顶层设计文件中加入生成address信号的VHDL代码。另一种方式是用VHDL语言实现一个接口,CSC MegaCore IP只向该接口提供与应用相关的信号,address信号由在该接口设计文件中的VHDL代码生成。

本设计对两种设计方案都进行了尝试,最终采用了第二种方法。因为单独设立一个接口一方面可以解决address信号的生成问题,另一方面设立该接口文件可以使设计的层次更加清晰且具有灵活性和通用性。

设立这样一个接口后,可以将该接口封装为SoPC自定义组件加入Nios II系统中。这样,CSC MegaCore IP就成为了Nios II系统的外围组件,在设计中与Nios II系统处于同一个顶层。而且,由于Altera视频图像处理组合中其他的IP核都具有与CSC MegaCore IP相似的对外接口[1],这样一个接口的设立也解决了Altera视频图像处理组合中其他的IP核与Nios II系统的连接问题。

3 多软核系统的设计

目前,随着业界对计算机芯片的组织和体系结构研究的不断深入,简单地通过提高系统时钟频率、增加Cache容量以及处理器指令的超标量化和流水化等方式实现系统性能提升的策略已经到达了回报减小点。传统方式对系统性能的提升遇到了瓶颈,有学者已经指出,在单一处理器的条件下,系统性能的提高大致正比于复杂度提高的平方根[3]。

随着SoPC技术的发展,设计者普遍采用了一种新办法来改善性能:在同一芯片上安排多个软核处理器并带有大的共享Cache。同一芯片上多个处理器的使用,亦称为多核(multiple cores)。在FPGA中采用多个软核处理器,根据时间和功耗要求划分任务,可以更高效地利用器件的资源、提升器件的处理效率,从而提升系统整体性能。

硬件资源共享是多核系统的强大功能之一,在多核系统中最普遍的共享资源是存储器。共享存储器的数据从端口需要与共享存储器的软核处理器的数据主端口连接。如果某一处理器

灏勯涓撲笟鍩硅鏁欑▼鎺ㄨ崘

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top