I don't know the rules off the top of my head so I did a little search. Here's what I found:
Pronunciation of the regular past verbs in the regular past always end with a -d in their spelling, but the pronunciation of the past ending is not always the same:
play/played /d/
The most common spelling characteristic of the regular past is that -ed is added to the base form of the verb: opened, knocked, stayed, etc. Except in the cases noted below, this -ed is not pronounced as if it were an extra syllable, so opened is pronounced: /@Up@nd/, knocked: /nQkt/, stayed: /steId/, etc.
arrive/arrived /d/
Verbs which end in the following sounds have their past endings pronounced /d/: /b/ rubbed; /g/ tugged; /dZ/ managed; /l/ filled; /m/ dimmed; /n/ listened; vowel + /r/ stirred; /v/ loved; /z/ seized. The -ed ending is not pronounced as an extra syllable.
work/worked /t/
Verbs which end in the following sounds have their past endings pronounced /t/: /k/ packed; /s/ passed; /tS/ watched; /S/ washed; /f/ laughed; /p/ tipped. The -ed ending is not pronounced as an extra syllable.
dream/dreamed /d/ or dreamt /t/
A few verbs function as both regular and irregular and may have their past forms spelt -ed or
-t pronounced /d/ or /t/: e.g. burn, dream, lean, learn, smell, spell, spill, spoil.
post/posted /Id/
Verbs which end in the sounds /t/ or /d/ have their past endings pronounced /Id/: posted, added. The -ed ending is pronounced as an extra syllable added to the base form of the verb.
I hope
this helps!
eric