Hallo. Ich baue hier geade einen CLK Prescaler für meinen Hobbyrojekt auf CPLD. Leider bekomme ich folgende Fehlermeldung: Error (10822): HDL error at FIRMWARE.vhd(161): couldn't implement registers for assignments on this clock edge Die Fehler hatte ich schon mehrmals gehabt, und könnte es selbsständig lösen. Normalerweise lag es daran, dass ein Signal in mehreren Statemens gleichzeitig zugewisen wurde. Hier ist es nicht der Fall (so sehe ich das :)
1 | PROCESS(CLK_250, PRSCL,CLK_ADC_SIG)---CLK FOR ADC |
2 | BEGIN
|
3 | CASE PRSCL IS |
4 | WHEN 1 => ----NO PRESCALER |
5 | CLK_ADC<=CLK_250;--- IF NO PRESCLAER THEN ASSIGN CLK TO ADC_CLK |
6 | WHEN OTHERS => ---ELSE USE PRESCALER |
7 | IF(CLK_250'EVENT AND CLK_250='1')THEN |
8 | ADC_PRSC<=ADC_PRSC+1; |
9 | IF(ADC_PRSC=PRSCL)THEN |
10 | ADC_PRSC<='1'; |
11 | CLK_ADC_SIG<= NOT CLK_ADC_SIG;--- FLIP VALUE |
12 | END IF; |
13 | END IF; |
14 | CLK_ADC<=CLK_ADC_SIG;---ASSIGN VALUE |
15 | END CASE; |
16 | END PROCESS; |
Please help:)