久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

soc中如果讓FPGA和HPS同時控制某一個輸入或輸出會不會出現矛盾

作者:胡巧平   來源:胡巧平   點擊數:  更新時間:2014年07月30日   【字體:

這是我之前問別人的一個問題,。


其實答案很明顯,讓FPGA和HPS同時控制某一個輸入或輸出是不可能的事情。就是我太笨,不知道怎么去想這個問題,所以還是試了一下。
 
我是傻×。。。不過還是寫一下,免得哪天又問自己這個傻問題。

問題是這么來的:
 
de1-soc上FPGA和HPS可以通信,FPGA的外設可以由FPGA自己控制,而HPS也可以通過AXI bridge控制FPGA的外設。由于FPGA的工程文件在Quartus中編譯,而HPS中的可執行文件是由.c文件生成的,并且在在下載時也是Quartus工程文件下載到FPGA,可執行文件在HPS中運行。所以我覺得這兩個過程基本上分開,應該不會相互干擾。那么如果讓FPGA和HPS同時控制某一個輸入或輸出會不會出現矛盾?比如,FPGA的外設LED燈,假設在FPGA中用撥碼開關控制,而在HPS中又讓它以另一種固定方式亮燈,那么結果會變成怎樣?
 
額,,,,然后我就建了一個工程,Qsys生成的系統中含LED和開關,又在FPGA的頂層文件中讓LED隨開關亮滅。如下圖




。。。。

其實稍微不是我這樣反應遲鈍的也該發現問題了,不過我這笨笨還是要分析綜合后才意識到問題的。。。
 
添加相應文件后分析和綜合出錯:(類似這樣的)object HEX0 declared in a list of port declarations cannot be redeclared within the module body
 
如圖

 
我是笨蛋。其實還是因為對FPGA和HPS之間的通信不理解。
 
那個叫做Qsys的東西,生成的文件中有一個模塊module,這個模塊就像我們一般自己寫的模塊那樣。在FPGA的工程中,我們在頂層文件中實例化這個模塊,從而讓HPS通過AXI bridge控制FPGA的外設。而在實例化這個模塊時,LEDR作為輸出,相當于已經確定LED的輸出由誰決定,此時再在FPGA中寫LED由誰決定輸出就會報錯。
 
唉,兩種方式控制一個東西的狀態,肯定會打架的嘛。我個傻×。。。
 
同時可以看到,同樣傳到Qsys生成的系統中的KEY[0]和KEY[1],因為是作為輸入就沒有報錯。而同樣作為輸出的HEX0,也報了同樣的錯誤。
 
我是傻×。。。。居然問這種問題。。。
其實以前寫verilog文件時編譯出錯時就犯過兩個地方對同一個輸出賦值的情況,也是這樣子報錯的。。。額。。。我錯了。。。居然在同一個地方跌倒了。。。
關閉窗口

相關文章

主站蜘蛛池模板: 国产精品久久久久无码av | 天天干b | 激情五月综合 | 日本久久精品视频 | 四虎永久在线精品免费一区二 | 91精品国产综合久久久久久蜜臀 | 欧美日韩在线一区二区三区 | 国产精品免费播放 | 国产乱码精品一区二区三区中文 | 欧美日韩在线国产 | 久久成人精品 | 午夜精品视频一区 | 亚洲国产免费 | av国产精品毛片一区二区小说 | 亚洲黄色一级 | 黄色一级片aaa | 国产精品国产成人国产三级 | 狠狠干天天干 | 欧美aaa级 | 亚洲第一黄色网 | 午夜小视频免费观看 | 亚洲一区二区三区在线 | 久久久999免费视频 999久久久久久久久6666 | 国产精品资源在线 | 欧美性生交大片免费 | 成人精品国产免费网站 | 黄色免费三级 | 日韩精品成人av | 性一爱一乱一交一视频 | 亚洲欧美日韩久久久 | 天堂av中文在线 | 久久精品国产一区二区 | 视频二区 | 欧美lesbianxxxxhd视频社区 | 久久久网| 国产成人精品一区二区三区 | 91在线免费视频 | 高清视频一区 | 久久精品国产亚洲 | 91av视频在线播放 | 欧美精品一区二区三区在线四季 |