|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
求教,VHDL的一個(gè)問(wèn)題 |
| 作者:htc1125 欄目:EDA技術(shù) |
PROCESS(A,B,C,D) BEGIN D<=A; X<=B+D; D<=C; Y<=B+D; END PROCESS; 為什么結(jié)果是 X<=B+C; Y<=B+C; 不是進(jìn)程執(zhí)行完,在進(jìn)行代入嗎,語(yǔ)句的處理和代入是分開(kāi)的嗎?? httpc |
| 2樓: | >>參與討論 |
| 作者: haoxudong 于 2005/3/11 13:14:00 發(fā)布:
換變量 variable D:std_logic; D:=A; X<=..... D:=C; Y<=.......... |
|
| 3樓: | >>參與討論 |
| 作者: htc1125 于 2005/3/12 9:51:00 發(fā)布:
不是變量 這里指的是信號(hào)代入 |
|
| 4樓: | >>參與討論 |
| 作者: loottp 于 2005/3/12 13:48:00 發(fā)布:
我想是信號(hào)的延遲造成的 我想是信號(hào)的延遲造成的 |
|
| 5樓: | >>參與討論 |
| 作者: wuyibang 于 2005/3/12 20:41:00 發(fā)布:
是這樣的 |
|
| 6樓: | >>參與討論 |
| 作者: wuyibang 于 2005/3/12 20:50:00 發(fā)布:
不小心按錯(cuò)鍵啦 其實(shí)原因是這樣的信號(hào)代入是不會(huì)立即發(fā)生代入的,即使該語(yǔ)句被執(zhí)行;代入于代入語(yǔ)句的處理是分開(kāi)的,在你的例子中,看起來(lái)好像是有一個(gè)延時(shí),但是實(shí)際上代入時(shí)由于不進(jìn)行處理,因此仿真時(shí)是認(rèn)為無(wú)延時(shí)的,結(jié)果就是你看到的結(jié)果啦,不過(guò)如果你用變量就不會(huì)發(fā)生這樣的情況啦。所以上面有位說(shuō)得是對(duì)的... |
|
| 7樓: | >>參與討論 |
| 作者: picklas 于 2005/3/13 0:29:00 發(fā)布:
re PROCESS(A,B,C,D) BEGIN D<=A; X<=B+D; D<=C; Y<=B+D; END PROCESS; 這種程序怎么可能通過(guò)綜合呢?你怎么會(huì)有結(jié)果呢? |
|
| 8樓: | >>參與討論 |
| 作者: wuyibang 于 2005/3/13 13:41:00 發(fā)布:
信號(hào)本來(lái)就不應(yīng)該這樣賦值,所以實(shí)際上不應(yīng)該這樣寫的 |
|
| 9樓: | >>參與討論 |
| 作者: 84082379 于 2005/3/13 16:01:00 發(fā)布:
我認(rèn)為是這樣的! A B C D是敏感信號(hào) 那么當(dāng)A B C D發(fā)生變化時(shí)就開(kāi)始begin 所以結(jié)果肯定是那樣的 回去找本專門講VHDL的書看看 類似的例子很多的 |
|
| 10樓: | >>參與討論 |
| 作者: xhd84 于 2005/3/14 16:28:00 發(fā)布:
進(jìn)程 進(jìn)程內(nèi)有一個(gè)德?tīng)査䲡r(shí)間問(wèn)題 建議你去看一本書:VHDL實(shí)用教程 潘松,黃繼業(yè)編 科學(xué)出版社 那里面有詳細(xì)介紹 |
|
| 11樓: | >>參與討論 |
| 作者: picklas 于 2005/3/15 0:06:00 發(fā)布:
re 我重復(fù)一邊,VHDL的代碼是不能這么寫的,不管你說(shuō)你看得書是怎么寫的,這么寫簡(jiǎn)直就是開(kāi)玩笑,除非是換成變量,不過(guò)程序前面的付值就是廢話了。 不要光是信書,現(xiàn)在的爛書多的是,要把書上的東西實(shí)踐一下,就算沒(méi)有硬件條件,你總能裝個(gè)軟件吧,程序?qū)戇M(jìn)去,跑個(gè)綜合沒(méi)問(wèn)題吧? 這種程序只要上次綜合器就知道不對(duì)了。 我不知道樓主說(shuō)的結(jié)果是從哪里來(lái)的。 |
|
| 12樓: | >>參與討論 |
| 作者: picklas 于 2005/3/15 0:13:00 發(fā)布:
re 說(shuō)到底這是一個(gè)基本語(yǔ)法的問(wèn)題。在進(jìn)程內(nèi)部怎么能夠同時(shí)對(duì)一個(gè)信號(hào)同時(shí)付兩個(gè)值呢?這在邏輯上就不成立。至于達(dá)爾塔問(wèn)題,我不敢說(shuō)一定沒(méi)有,但是根據(jù)我的認(rèn)識(shí)那只是由于布線的后時(shí)延造成的邏輯變化的不同步,這是很少見(jiàn)得,也是我們極力避免的,通過(guò)約束是可以把它降到可以忍受的程度。 |
|
| 13樓: | >>參與討論 |
| 作者: htc1125 于 2005/3/15 9:20:00 發(fā)布:
re 書上舉的例子是為了區(qū)分變量賦值和信號(hào)代入,在我的例子是D的最初代入值是A,后是C,在時(shí)間上有延時(shí),但在代入不進(jìn)行處理,仿真時(shí)認(rèn)為是0值延時(shí)。我想說(shuō)的是PROCESS里的語(yǔ)句雖然是順序執(zhí)行,但仿真時(shí)還是同時(shí)處理 |
|
| 14樓: | >>參與討論 |
| 作者: carteryang 于 2005/3/15 20:02:00 發(fā)布:
re 同意前面84082379和picklas兩位兄臺(tái)的看法 |
|
| 15樓: | >>參與討論 |
| 作者: loottp 于 2005/3/15 21:38:00 發(fā)布:
支持延遲 兩次signal賦值是只管后一個(gè)賦值的,那是信號(hào)延遲造成的 |
|
| 16樓: | >>參與討論 |
| 作者: ie_ei 于 2005/3/16 0:34:00 發(fā)布:
同意htc1125的看法 “使用硬件描述語(yǔ)言,一定要了解其在硬件上是怎么實(shí)現(xiàn)的。實(shí)際上,所有的vhdl程序在最終執(zhí)行時(shí),都是并行處理的”。這剛好是一位高人今天對(duì)我講的!呵呵 |
|
| 17樓: | >>參與討論 |
| 作者: picklas 于 2005/3/17 0:09:00 發(fā)布:
re 我覺(jué)得我的觀點(diǎn)已經(jīng)表達(dá)的很清楚了,如果說(shuō)那么寫程序是為了說(shuō)明變量和信號(hào)的不同,我只能說(shuō)作者這是在拿VHDL的語(yǔ)法開(kāi)玩笑,因?yàn)檫@根本就不對(duì),硬件上更是不用考慮,我說(shuō)了如果說(shuō)前后兩個(gè)付值能夠成立的話,這個(gè)執(zhí)行是否就是說(shuō)真是順序執(zhí)行的呢?答案是否定的,所有的語(yǔ)句都是并行進(jìn)行的!所以那么寫純粹是誤導(dǎo)讀者。知道是并行的了,請(qǐng)問(wèn)d在一個(gè)時(shí)刻是付兩個(gè)值中個(gè)哪一個(gè)?我說(shuō)了信號(hào)在FPGA的內(nèi)部傳輸時(shí)是會(huì)有布線的時(shí)延,表現(xiàn)在一個(gè)進(jìn)程中的兩個(gè)付值語(yǔ)句所產(chǎn)生的信號(hào)值變化不同時(shí),但是請(qǐng)注意這里的付值語(yǔ)句是a<=b;b<=c;...之類的語(yǔ)句,不是邏輯混亂的語(yǔ)句!! 還要說(shuō)明這種時(shí)延并不是很大,一般最大就幾個(gè)ns,這也是我們極力避免的,要不就不用寫約束了。 看書也要知道作者的目的,要知道什么是對(duì)的,什么是錯(cuò)的!!要盡讀書,不要盡信書! |
|
| 18樓: | >>參與討論 |
| 作者: xing198200 于 2005/3/17 9:40:00 發(fā)布:
信號(hào)的延時(shí) 敏感信號(hào)的變化,直到最后一個(gè)語(yǔ)句才被執(zhí)行. 信號(hào)的延時(shí)問(wèn)題. |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |