Jag har upptäckt ett litet problem med ISE, och det är att räknarna CB8 och CB16 ger dubbla utpulser på TC. Den första pulsen kommer när de fyra LSB är noll och resten av bitarna är ett, och den andra pulsen kommer helt riktigt när alla bitar är 1.
Så här ser det ut:
Schema
Anledningen till att jag tog en laddningsbar 16-räknare är för att slippa göra så lång simulering. T-vipporna är där för att fånga den extra pulsen som är extremt kort, den kommer inte med i utdatat av simuleringen.
Utdata, waveform
Beklagar storleken på bilderna, men jag ville inte förminska och ha mig då det finns risk för att göra bilderna otydliga.
Min fråga är nu om någon skulle orka dra hem schemafilen som finns här och köra en simulering av denna (sluttid 55000 ns). Skulle vara intressant att veta om det bara jag som har problemet lokalt på min dator eller om det är flera som har samma problem.
Sen vet jag ju att man inte ska använda klockingångarna till något annat än klockingång, men jag tycker inte att det ska bete sig så som det gör ändå...
Simuleringsfel i Xilinx ISE 8.1
Körde du betendesimulering eller timingsimulering? Jag antar att du körde en timingsimulering.
Det är troligen inget fel i simuleringen. Faktum är att precis som du skriver ska man inte använda utgångar från kombinatoriska nät för att driva andra klockingångar. Om du tittar på sid 166 i Libraries Guide så ser du att utgångarna från de fyra LSB går in i ett kombinatoriskt nät som genererar TC. Naturligtvis så skiljer det lite i tid mellan klocka och dataut på vipporna vilket genererar glitchar.
Även om du körde betendesimulering (vilket inte borde ha gett en extra TC puls) så brukar det finnas endel korta delayer i modellerna som ger detta resultat.
Hursomhellst så är nog simuleringen riktig eftersom det även "i verkligheten" kommer det att fungera lite si och så med den design du har gjort.
Edit: Jag tittade lite till på sid166 och det stämmer perfekt med din simulering. Under en delta T kommer TC vara aktiv.
Det är troligen inget fel i simuleringen. Faktum är att precis som du skriver ska man inte använda utgångar från kombinatoriska nät för att driva andra klockingångar. Om du tittar på sid 166 i Libraries Guide så ser du att utgångarna från de fyra LSB går in i ett kombinatoriskt nät som genererar TC. Naturligtvis så skiljer det lite i tid mellan klocka och dataut på vipporna vilket genererar glitchar.
Även om du körde betendesimulering (vilket inte borde ha gett en extra TC puls) så brukar det finnas endel korta delayer i modellerna som ger detta resultat.
Hursomhellst så är nog simuleringen riktig eftersom det även "i verkligheten" kommer det att fungera lite si och så med den design du har gjort.
Edit: Jag tittade lite till på sid166 och det stämmer perfekt med din simulering. Under en delta T kommer TC vara aktiv.