|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | 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寫的狀態(tài)機(jī)在MAX2中編譯通不過 |
| 作者:bg4ajb 欄目:EDA技術(shù) |
已經(jīng)通過了CASE STATE IS中的STATE改為PRESENTSTATE --****************************** --狀態(tài)機(jī) --****************************** LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; --****************************** ENTITY CH6_5_1 IS PORT(CP : IN STD_LOGIC; DIN : IN STD_LOGIC; OP : OUT STD_LOGIC ); END CH6_5_1; --****************************** ARCHITECTURE A OF CH6_5_1 IS TYPE STATE IS (S0,S1,S2,S3); SIGNAL PRESENTSTATE: STATE; SIGNAL NEXTSTATE : STATE; BEGIN SWITCHNEXTSTATE : PROCESS(CP) BEGIN IF CP'EVENT AND CP='1' THEN PRESENTSTATE<=NEXTSTATE; END IF; END PROCESS SWITCHNEXTSTATE; CHANGESTATEMODE : PROCESS(DIN,PRESENTSTATE) BEGIN CASE STATE IS WHEN S0=> IF DIN='0' THEN NEXTSTATE<=S0; ELSE NEXTSTATE<=S1; END IF; OP<='0'; WHEN S1=> IF DIN='0' THEN NEXTSTATE<=S1; ELSE NEXTSTATE<=S2; END IF; OP<='1'; WHEN S2=> IF DIN='1' THEN NEXTSTATE<=S2; ELSE NEXTSTATE<=S3; END IF; OP<='0'; WHEN S3=> IF DIN='0' THEN NEXTSTATE<=S1; ELSE NEXTSTATE<=S0; END IF; OP<='0'; WHEN OTHERS=> NEXTSTATE<=S0; OP<='0'; END CASE; END PROCESS CHANGESTATEMODE; END A; 這個(gè)是書上的例子,但是我在MAX2上編譯就是通不過。 連CHECK都通不過。 * - 本貼最后修改時(shí)間:2005-1-26 15:02:33 修改者:bg4ajb |
| 2樓: | >>參與討論 |
| 作者: chenkuotao 于 2005/1/25 16:20:00 發(fā)布:
這不足奇,現(xiàn)在出書的人流行抄,抄還抄錯(cuò)了,真悲哀 |
|
| 3樓: | >>參與討論 |
| 作者: 七月飛雪 于 2005/1/25 20:45:00 發(fā)布:
CASE STATE IS 有問題 我也是新手,看不出其他毛病,但起碼這句肯定是不對的,應(yīng)該是NEXTSTATE吧,STATE是你定義的數(shù)據(jù)類型啊 |
|
| 4樓: | >>參與討論 |
| 作者: lcslxh 于 2005/1/25 23:53:00 發(fā)布:
PRESENTSTATE<=NEXTSTATE 我想是這句有問題,都還沒定義PRESENTSTATE和NEXTSTATE的值是多少怎么用呢 小弟也是初學(xué)可能說的也不是很對 |
|
| 5樓: | >>參與討論 |
| 作者: diploma 于 2005/1/26 9:08:00 發(fā)布:
在PROCESS前面加個(gè)rst if rst = 1 then presentstate 《= s0; elsif.......... case state 改為 case presentstate 要不能下面那個(gè)進(jìn)程將沒有敏感信號(hào),狀態(tài)機(jī)不能被激發(fā) |
|
| 6樓: | >>參與討論 |
| 作者: bg4ajb 于 2005/1/26 14:55:00 發(fā)布:
CASE STATE IS 有問題 打字的時(shí)候STATE前面的PRESENT漏了 |
|
| 7樓: | >>參與討論 |
| 作者: bg4ajb 于 2005/1/26 15:05:00 發(fā)布:
順便問個(gè)問題 在另外的一個(gè)實(shí)例中,用MAX2編譯后出現(xiàn)這個(gè): Waring:Primitive 'SEVEN11' is stuck at VCC Waring:Primitive 'SEVEN16' is stuck at GND 用緊嗎?實(shí)際接線的時(shí)候有什么要注意的地方。 |
|
|
|
| 免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |