|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
狀態(tài)機這樣寫可以邏輯綜合嗎?有兩個if語句 |
| 作者:wujianbo 欄目:EDA技術(shù) |
case state is when s0 => nwe <= '1'; next_state <= s1; if upper_or_lower = '0' then Address <= addr_counter_lower; else Address <= addr_counter_lower + "0100100000000000"; end if; if rdempty = '0' and wrflag = '0' then wrflag <= '1'; lcd_rd_req <= '1'; else wrflag <= '0'; end if; |
| 2樓: | >>參與討論 |
| 作者: xbguan 于 2006/2/17 6:12:00 發(fā)布:
可以,但有一個問題 1。 if語句在硬件上看就是兩選一,綜合沒有問題。如果有 兩個嵌套的if語句,就是兩個級聯(lián)的兩選一. 2.這一段代碼: if rdempty = '0' and wrflag = '0' then wrflag <= '1'; lcd_rd_req <= '1'; else wrflag <= '0'; end if; 事實上等效于兩個模塊: if rdempty = '0' and wrflag = '0' then wrflag <= '1'; else wrflag <= '0'; end if; if rdempty = '0' and wrflag = '0' then lcd_rd_req <= '1'; end if; 這是一個兩選一和一個Latch。除非你是有意為之,這個Latch 是比較典型的錯誤。 如果不理解這里為什么有一個Latch和怎樣避免,請尋找 coding style的資料閱讀。 |
|
| 3樓: | >>參與討論 |
| 作者: yangnengcy 于 2006/2/24 18:33:00 發(fā)布:
請大蝦指點 "這是一個兩選一和一個Latch。" 樓上的大蝦能說明白點嗎?想知道什么是LATCH和coding style的資料在哪里找? 先謝謝了哈 |
|
| 4樓: | >>參與討論 |
| 作者: xbguan 于 2006/2/25 5:18:00 發(fā)布:
coding style 寫HDL代碼有兩個不同的目的,一個是為了綜合硬件(for synthesis),另一個是為了創(chuàng)建testbench。不同的目的有不同的寫法。 前者是寫給綜合工具讀的,所以要知道綜合工具會怎樣理解你的代碼。工具一般都沒有創(chuàng)造性,所以筆下遵循一些簡單的規(guī)則(coding style),這樣的代碼綜合工具才能理解然后翻譯成硬件,然后再優(yōu)化。不同的綜合工具在優(yōu)化這個層面可能各有特點,但是在翻譯這個層面上沒有什么太多的區(qū)別。綜合軟件的手冊上都有coding style的資料。我以前讀過這個文檔,我覺得里面的有關(guān)部分 很簡單易懂: http://www.actel.com/documents/hdlcode_ug.pdf Latch的問題里面有講,希望你自己能找到答案。 |
|
| 5樓: | >>參與討論 |
| 作者: sunhuaiyi 于 2006/3/3 23:10:00 發(fā)布:
如果你這個是時序進程和組合進程在一起也可以綜合成觸發(fā)器 |
|
| 6樓: | >>參與討論 |
| 作者: 122013137 于 2006/3/6 19:32:00 發(fā)布:
。。 我覺得最好少用IF ELSE語句 直接用信號賦值語句 WHEN ELSE 或者 WITH~SELECT綜合要好得多 |
|
| 7樓: | >>參與討論 |
| 作者: quinn 于 2006/3/6 19:50:00 發(fā)布:
建議注意代碼的規(guī)范性和可讀性 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |