"To be", Referential or linking verbs:

These are verbs which conjoin with other verbs to add semantic information. ex: is, am, are, etc. i didn't know that these are called "to be" verbs. "To be" means to exist or show connection to something, so "to be" verbs are am, is, are, was, were, been, being, etc. We looked at verb transformation for regular verbs (i.e walk changes to walks, walking, walked, etc), but we also need these "to be" verbs to connect subject to verb. Look at the table for Pronouns, and note that these linking verbs go exactly same way as the pronouns. These linking verbs have similar transformation as real verbs above. This will help us construct sentences, as these are most used words in any language.

To be: Present, past and future forms (is, was, will be) of these "to be" verbs have their own transformation table. They come in 2 flavors, i.e I am" will be transformed in 2 diff ways depending on temporary or permanent condition. In English, I say "I am tall" and "I am sick" with same "am" verb. But in Spanish, "I'm tall" is a permanent condition, while "I am sick" is a temporary condition. So, different forms of "am" are used in the 2 sentences depending on whether it's permanent or temporary condition. This is a different concept than other languages. Let's look at 2 versions. These are 2 forms of "to be":

  • Ser: This is one of the verbs for "to be". ser is used for "to be", but it's for things that are more permanent. Remember "POPIN" = Permanent condition, occupation, place of origin,  identification, nationality => These are the situations where ser is used. When we say "I am a doctor", it's more of a permanent condition, so ser used. ex: She is tall => Ella es alta. Here "es" used as it's Ser form of "is", and condition is permanent. You can think of ser as an "-er" verb for singular form, and "-or" verb (imaginary verb for remembering purpose, since instead of e, we transform to o) for plural form. Look at the table below. Let's look at all 3 tense:
    • Present Tense: Ser is transformed to mean am, are, is. "I am" is translated to "yo soy", but usually we omit yo (as is common in Spanish), and just say "soy". Verb remains unchanged here. Shown in table below.
    • Past Tense: Here Ser transforms to was, were, etc. This follows same past tense table as of "to go" verb (see in "ir" section). So, "I was" or "I went" both translate to "fui". The complete table is shown later at the bottom.
    • Future tense: There are 2 ways of describing future tense with ser.
      • Informal Future Tense: Here we use form "going to be" (see in ir section too).This is where we use "ser" word as it implies things in future (i.e to be) => I'm going to be a .... This follows same table as future tense table of "to go". ex: I'm going to be a doctor => Voy a ser médico. (NOTE: "going to" always has "a" to indicate "to")
      • Formal future tense: Here, we use form "will be". This uses 3x2 conjugation table of future tense of ser. All verbs have same future tense conjugation, so follow that table => seré, serás, será, etc. Ex: He will be famous => el será  famoso.
    • Imperfect past tense: Explained in table below.
    • NOTE: Both past and future tense follow table of verb "ir" which means "to go". For Present tense, table is shown below.

 

  • Estar: This is the other verb for "to be". Verb "estar" is often used to talk about temporary states of being, i.e I'm sick. It is used for things that are currently happening. Verb Ser was used for permanent state, but estar is used for temporary state. As a rule => Anything that is "Feelings or location", use estar, else use, ser. We'll see this in more detail below. We saw the pronoun base word "est" which was for this/these. This is different than that. Estar can be thought of as "-ar" verb. Let's look at all 3 tense:
    • Present Tense: Estar is transformed to mean am, are, is. "I am" is translated to "yo estoy", but we usually omit yo, and just say "estoy". Verb remains unchanged here. Shown in table below.
    • Present Progressive: This refers to verb in present, but it's progressing right now. Looks like this tense can only exist for temporary thing (so only estar form exists, no ser form). In English, they are verbs ending in -ing. ex: I am studying. Depending on -ar, -ir, -er verb, we transform the verb slightly here. So, we use linking verb (am, are, etc), and then modify the verb to end it in -ing. Details => https://www.youtube.com/watch?v=ntY7ziEsxpI
      • -ar verbs => -ando (change verb from -ar to -ando). For -ar verb, we take both a and then add "ndo"
        • ex: I study => yo estudio. I'm studying => yo estoy estudiando.
      • -ir/-er verbs => -iendo (pronounced as ee-ando). For -ir and -er verb, we take both i and e and then add "ndo"
        • ex: she eats => ella come. she is eating => ella está comeiendo
        • ex: we write => nosotros escribimos. we are writing => nosotros estamos escribiendo
        • Exceptions with -er verbs: Words with 2 e in between (leer, creer, etc) are transformed to -yendo instead of -iendo (i is replaced by y). ex: leer => leyendo, creer => creyendo.
          • ex: I am reading => yo estoy leyendo.
      • ir verb: This is NOT -ir, but ir verb by itself which means to go. Here ir is changed to yendo (y is silent)
        • ex: I go => ir.  I am going => Yo estoy yendo
      • irregular -ing form: These are ones that don't follow rules above. need to give examples. FIXME.
    • Past Tense: Here estar transforms to was, were, etc. This follows same past tense table as of "to have" verb (see in "tener" section), with a prefix es- added. So, base word is "estuv" for transformation purpose. This is preterito (or V2 form in English). It implies actions already happened a while back. So, "I was tired"  translates to "estuve cansado".
      • Past tense (estuv): ex: Yesterday Maria was sick. The complete table is shown later at the bottom.
        • 1st, 2nd, 3rd person (singular): estuve, estuviste, estuvo.
        • 1st, 2nd, 3rd person (plural): estuvimos, estuvisteis, estuviron.
    • Future tense: Similar to what we saw in Ser, there are 2 ways of describing future tense with estar.
      • Informal Future Tense: Here we use form "going to be" (see in ir section too).This is where we use "estar" word as it implies things in future (i.e to be) => I'm going to be a .... This follows same pattern as future tense of "ser", except that we replace ser with estar. ex: I am going to be sad => Voy a estar triste. ex: I am going to be late => Voy a llegar tarde. Here sentence is "I'm going to arrive late", so "llegar" used.
      • Formal future tense: Here, we use form "will be". This uses 3x2 conjugation table of future tense of estar. Exact same conjugation as ser as future form are same for all verbs  => estaré, estarás, estará, etc. Ex: He will be tired (temporary state) => el estará cantado.
    • Imperfect past tense (estab): There is also another form of this verb in "imperfect past tense" which implies "action is still ongoing by putting you in middle of it, or action just completed). For this we use imperfect past tense form which is "estab". ex: Yesterday, Marta was sick when I visited her => Ayer Marta estaba enferma cuando la visité. Explained in table below.

 


 

Ser OR Estar; For some conditions, it's difficult to gauge whether it's permanent or not. Ex: fat. You are fat => tú eres gordo OR tú estás gordo, We may use either ser or estar, though estar is more common. Fat doesn't really imply one has always been fat. Similarly for word "old". On other hand, I'm a man => Soy un hombre. Here ser used, as someone who is a man is permanent.

Here's video by "Butterfly Spanish" on when to use ser vs estar: https://www.youtube.com/watch?v=BFmmvdANZl0

One more by "Spanish Tutor": https://www.youtube.com/watch?v=z7c0IlnBr7k

Below ser/estar usage is just guidance. There are lot of exceptions where below rules won't apply. So, just start using w/o logically overthinking and overtime you will start using them correctly.

This video by "Real Fast Spanish" shows all the exceptions => https://www.youtube.com/watch?v=Oinp8mk9cGE

Ser is used in following permanent instances. "Anything that is factual", use ser form.

  • POPIN: Permanent condition, occupation, Place of origin, Identification, Nationalty,
    • ex: I'm => soy morena
    • ex: Are you from Argentina? =>  ¿eres de Argentina? we are from Cuba => somos de Cuba ("are from somewhere" => ser + de). Where are you from? => ¿De dónde eres? (from where, you are?). I'm from the United States => Soy de los estados unidos. What city are you from? => ¿De q ciudad eres?
    • ex: The table is square / big => la mesa es quadrada / grande
  • Physical traits:  These are treated as permanent.
    • ex: you are beautiful => tú eres bonito/bonita
  •  Generalization:
    • It is important to work =>es importante tarbajar
  • Possession: i.e who owns it
    • This blouse is mine => la blusa es mía
  • When and where are events OR When telling time/date (where is a location, but still ser is used)::
    • The party is in the club => la fiesta es en el club
    • The party is at 6 => la fiesta es a las seis.(see in "common word" section too)
    • What time is it? => ¿Qué hora es?. It is one => es la una. See more in "Common words" section.
  • Inquire about something. If it's bout "where is something", then it's estar (as it's location, see below)
    • What is it? => ¿Qué es?. It is a book => es el libro.

Estar is used in following temporary instances, i.e something that is happening right now, and most likely to change in near future:. As a rule, anything that is not from these 3 conditions "feelings/conditions, location and -ing", it's is almost always a "ser" form. Ser is for factual statements. For anything that's not factual, use "estar". Location is the only odd thing - both ser and estar used. When location refers to where an event is happening, ser sis used, but when it refers where somethng is located, estar is used.

  • Temporary conditions and Emotions: i.e "How you feel" is temporary condition.
    • ex: How are you => ¿Cómo estás? We also use " ¿Qué tal estás?. Response is => I'm good / bad / sad => estoy bien / mal /  triste
    • The door is open => la puerta está abierta.
  • Location: i.e "Where we are" is temporary condition. It is nearby, next to, 5 minutes away, etc all show location, so use estar.
    • ex: Where are you? => ¿Dónde estás (tú)? Response is => We are at market => estamos en mercado.
    • ex: Where is the store? => ¿Dónde está la tienda? It is to the north => está al norte (a + el = al)
    • ex: Austin is in Texas => Austin está en Texas => Here está is used even though it's permanent (as location always uses estar)
  • Present progressive => -ing form. It's always temporary condition, as -ing can't be used with permanent things.
    • I'm speaking/eating => yo estoy hablando/comiendo
  • Also used in weather conditions. I see ex where ser is used, instead of estar. ex: The weather is good today => el clima es bueno hoy (NOTE: el clima used as clima is masculine. So, bueno used)
  • Exceptions: ex: He is dead => el está muerto. This is permanent, but it's happening currently. So, estar used.

Ser is used more often than Estar. "es" is the most commonly used word which stands for "is". Sometimes ser and estar are both used in certain phrases as where, etc.

 


 

Present Tense for ser and estar:

Let's look at the ser and estar present form for all 6 variations:

NOTE: Ser has no accent for any of the entries, while estar has 4 entries from bottom 2 rows having an accent.

 

 Verbs singular plural ( add s at end)
I am / We are => First person

Soy (ser), estoy (estar) => am (both use -oy, instead of -o as seen in verbs above. so/esto don't sound good. esto already means this(f).)

ex: Yo soy Americana => I'm American (permanent, so use soy)

ex: Yo estoy enferma/enfermo => I'm sick (temporary, so use estoy)

somos (ser), estamos  (estar) => are (similar to -emos/-amos from verbs above)

nosotros somos => We are (has "o" at end, meaning masculine. Used for mixed crowd or male crowd)

You are / You all are (informal) => Second person

eres (ser), estás (estar with accent on a) => are. Without an accent, estas means "these". (similar to -es/-as from verbs above)

tú eres mi empleado=> You are my employee (permanent)

tú estás en la lista => you are on the list (temporary state)

sois (ser), estáis (estar) => are (similar to -éis/-áis from verbs above). sois is sometimes written with accent on "o".

vosotros sois => You all are (plural, group of people). Used in Spain only

 

He/She is, They/You are (formal) => Third person

es (ser), está (estar with accent on a) => is/are. Without an accent, esta means this. (similar to -e/-a as seen in verbs above)

él es gracioso => He is funny (with accent on e). permanent characteritic of a person, so use es

él está en casa => He is in house (temporary)

ella es alta => She is tall (permanent)

ella está en el gimnasio => She is at the gym (temporary)

usted es el experto => You are (formal) the expert (permanent)

usted está increíble esta noche => You look incredibel this night (i.e tonight)

son (ser), están (estar) => are (similar to -en/-an from verbs above)

ellos son => They are (has "o" at end, meaning masculine, for mixed crowd or male crowd)

ellas son => They are feminine (has "a" at end, meaning feminine. Used for girl group only)

Ustedes son => You all are (plural, group of people). 

 

Past Tense for ser and estar:

Let's look at the ser and estar past form for all 6 variations. As explained above, past tense of ser follows past tense of "ir" verb, while past tense of estar follows past tener of tener with -es added in the front.

NOTE: None of the entries have any accent.

 

 Verbs singular plural
I was / We were => First person

fui (ser), estuve (estar)

fuimos (ser), estuvimos (estar)

You were / You all were (informal) => Second person

fuiste (ser), estuviste (estar)

fuisteis (ser), estuvisteis (estar)

He/She is, They/You are (formal) => Third person

fue (ser), estuvo (estar)

ex: How was your day? => ¿Cómo estuvo tu día? (temporary)

My day was good => Mi día estuvo bien.

fueron (ser), estuviron (estar)

 

Future Tense for ser and estar:

As we saw before, future tense of ser/estar has 2 forms: Informal and formal. Informal form goes with "ir" verb. Formal future tense follows same conjugation as any future verb.

NOTE: For future tense, we add suffix to base verb itself (and NOT to stem)

 Verbs singular plural
I was / We were => First person

seré (ser), estaré (estar)

serémos (ser), estarémos (estar)

You were / You all were (informal) => Second person

serás (ser), estarás (estar)

seréis (ser), estaréis (estar)

He/She is, They/You are (formal) => Third person

será (ser), estará (estar)

serán (ser), estarán (estar)

 


 

Past Imperfect Tense for ser and estar:

As we saw in Past Imperfect section, past imperfect is used in 2 cases: 1. gerund form => I was eating 2. Habitual form => I used to play tennis. ser is an irregular verb for Past imperfect, and follows slightly different table.

Note: The intent of a sentence may be "past imperfect", but we may still use "was" in English translation. In such cases, intent matters, so we translate as past imperfect, even though it looks like simple past tense. See below in ex section.

  • ser => Instead of suffix -ia as is done for -er verb, we follow the table for regular -ar verb, but substitute "ser" with "er". Remember "era" as something happened "eras or ages" back, so we use "era" in spanish for things that happened way in past.
  • estar => it follows the regular past imperfect conjugation table for -ar verb. i.e estaba, estabas etc. ex:

 

 Verbs (was -ing/used to) singular plural
I was/used to / We were/used to => First person

era (ser), estaba (estar) => same as 3rd person

éramos (ser), estábamos (estar)

You were / You all were (informal) => Second person

eras (ser), estabas (estar)

erais (ser), estabais (estar)

He/She is, They/You are (formal) => Third person

era (ser), estaba (estar) => same as 1st person

ex: What were you studying? => ¿Que estabas estudiando? (temporary)

eran (ser), estaban (estar)

 

ex:

  • SER: When I was young, I liked animals => Here, intent is "when I used to be young, I used to like animals". So, both past tense refer to past imperfect, so we have to use past imperfect of ser which is "era", and past imperfect of "gustar" which is "gustaban". Translation is => Cuando era joven, me gustaban los animales. Here Cuando is w/o any accent, as it's not used as a question
  • ESTAR: Yesterday, Marta was sick when I visited her => Here for first part, intent is "Maria used to be sick", but 2nd part is still simple past tense, as "visit" already happened (it's not like "when I used to visit her"). So, translation is => Ayer, Marta estaba enferma cuando la visité. Estar form used as being sick is temporary.

 

ir (verb): ir (pronouned as eer) is a very commonly used verb which means "to go". It's not like -ir verbs, which have a family of verbs. ir is it's own little verb. ir also has it's own transformation table similar to -ar verbs for present tense and --er/-ir for past tense. (it follows -ar table instead of -ir table). Since ir is monosyllabic and irregular, it's conjugation is different. Replace ir by letter "v" and add suffix similar to -ar verb (Transformation for 1st person "I" is little different as shown below).

ex: I need to go => necesito ir (I need => necesito). Full translation is Yo necesito ir. But yo is dropped as is common with pronouns.

Verbs similar to ir: we have verbs similar to "go", but they fall into ar/er/ir verb categories. They have nothing to do with verb ir. Ex:

  • irme => ir + me => to go + myself => to leave.
    • ex: I have to leave now (or I got to go now) => tengo que irme ahora (used very often)
  • regresar => to go back (to somewhere). Remember from English word "regress" which means to go backwards (opposite of progress). Volver is another verb, which means "to come back". See under "irregular verb" section.
  • dejar (de-har) => It's basic idea is of leaving something (or someone) somewhere, placing something somewhere, or abandoning something. It doesn't mean "to leave" a place, for which "salir" is used. Opposite of salir/ir is venir, which means "to come". These words are under "irregular verb" section. Dejar is among the most common verb used in Spanish, so let's look at it's all possible usage:
    • Use 1: to leave or place something somewhere: ex: I left my keys here => Yo dejé mis llaves aqui.
    • Use 2: To ask or give permission, mostly as "to let" (This is the most common use of dejar). ex: Would you let me go to the fiesta? => ¿me dejarías ir a la fiesta?. Let me speak => Déjame hablar. 
    • Use 3: To leave alone: ex: Leave me/it alone => Déjame/Déjalo en paz. Leave your sister alone! => ¡Deja a tu hermana!
    • Use 4: To quit or stop (interruption of continuing event): ex: I had to stop working in the garden => Tuve que dejar de trabajar en la jardin.
    • Use 5: To abandon or give in. Use reflexive form (dejarse) ex: Let oneself go (i.e carried away) => dejarse llevar

Using "a"(pronouned aa) as to: This is where "a" is used as a preposition that links nouns and pronouns to other words as to, on, about, with, etc. When we use "go to" instead of "go" (i.e go to a place", or "going to do something", etc), then we use "a" to indicate "to". ex: to go to => ir a.

  • Feminine place: If the place is feminine then it's "la ...". So, it's " ir a la"
    • ex: I have to go to the hospital => tengo que ir a la hospital (with have to, we use que)
  • Masculine place: . If the place is masculine, then it's "el ...". But then "a + el" doesn't sound too good when speaking, so they are combined as 1 word "al" (pronouned aal). So, it's "ir al ..."
    • ex: I want to go to the park => quiero ir al parque (since parque is masculine, a+el becomes al)

 


 

Back to back verbs:

We saw this in verb section. When we have back to back verbs, then the first verb is conjugated based on the 3x2 table, and the second verb is w/o any conjugation. 2 back to back verbs are often seen with "to go" verb, but may be with other verbs too.

ex: He is happy to go back to school => Here "happy" is an adjective and "to go back" is a verb, so it's not an ex of back to back verbs. Happy is NOT a verb (we don't say happied, happying, etc), but rather an adjective. So "happy to go" => contenta regresar. WE use "de" in b/w the adj and verb for word "to". We use personal "a" with "ir" verb, i.e go  + to somewhere, etc. So, translation for "to go to school" => ir a la escuela. Here it's "go back" which is simiilar to "to go", so it becomes => regresar a la escuela. Full translation is => él está contenta de regresar a la escuela

 


 

Tenses: We'll talk about all 3 tenses => Present, Past and Future. Video (from Butterfly Spanish channel, It also discusses tenses for tener, ser/estar): https://www.youtube.com/watch?v=K6SUsWizytA

Present tense: of the 4 verbs (ir, tener, ser, estar) is different, and discussed in their own section.

Past tense of ser is exactly same as ir, but tener and estar are slightly different (though tener and estar are same except for prefix es- added for estar).

Future tense of all 4 verbs is exactly the same except for verb ir, tener, ser, estar suffixed to voy, etc. See below.

 

Present Tense / Present Progressive:

Base word ir transforms to v. Now we can apply the pattern as would apply to present tense of -ar (NOT -ir even though ir looks like ir) verb. For most other verbs, gerund form is different and requires ser/estar + gerund_form. But for ir, "go" (present tense) and "going" (Present Progressive) use the same transformation table as shown below. So, Spanish doesn't different b/w "I go" vs "I'm going". They both translate to "yo voy"

NOTE:

  • Auxillary verb "am" doesn't have separate translation when used with verb "go". However, with all other verbs, we have to use ser/estar form for "am" (i.e I'm reading => soy estoy leyendo, but for "I am going" => yo voy and NOT "yo estoy voy". So, always remember "ir" as special verb.
  • Another verb "ver" means "to see" (see in verb section below). . It's 1st person "veo" looks similar to voy below.

 

 base word = ir (to go) => change to v singular plural ( add s at end)
 I => First person

voy (similar to -o, but then it becomes vo. So y added at end which is similar to soy for "am")

ex: yo voy => I go ("yo ir" may also be used) or I'm going

ex: me voy => I am going (Not sure how??)

vamos (similar to -amos)

ex: ¡vamos! => Let's go (it should be "we go"). it's commonly used expression

You (informal) => Second person

vas (similar to -as)

vais (similar to -ais, no accent on a)

He, she, You (formal=> Third person

va (similar to -a)

ex: él va => He goes or He is going

van (similar to -an)

ex: ustedes van => They (all) go or They are going

 ex:

  • I go there => yo voy allí.
  • I'm going with my friends => yo voy con mis amigos
  • Where are you going? => ¿A Dónde va? (A is added in the beginning  since the response includes "to" => I'm going to ...)

 

Past Tense:

Base word ir transforms to fu. Now we can apply the pattern as would apply to past tense of -er/-ir verb shown later below. Past tense of "ir" is same as that of another verb "ser". Past tense of the 4 verbs is as below:

  • ir/ser: 2 forms: ir => "I went", and ser => "I was" (permanent). Both of them use the same past tense form as table below, even though present tense are different. This happened due to some confusing integration of Latin with Spanish. Fortunately, based on context, it's easy to figure whether you are saying "I was" or I went". Idealy, they should have had different past tense forms. I don't complain, as I don't have to learn one more conjugation :)
  • tener: Past form of tener is irregular with stem being "tuv". It's explained under "Past tense Verb" section. 
  • estar: Past form of estar takes same form as tener, but with es- prefix added to "tener" past tense stem. So, stem becomes "estuv". See in ser/estar section.

 

 base word = ir (to go) => change to fu for went or was singular plural ( add s at end)
 I => First person

fui (-i, same as past tense for -ir/-er)

ex: yo fui => I went OR I was

fuimos (-imos, same as past tense for -ir/-er)

You (informal) => Second person

fuiste (-iste, same as past tense for -ir/-er)

fuisteis (-isteis, same as past tense for -ir/-er)

He, she, You (formal=> Third person

fue (instead of -ió, we use -e which is same as present tense of -ir)

ex: él fue => He went or He was

fueron (instead of -ieron, we use -eron)

ex: ustedes fueron => They all went OR they were

 

Future Tense:

Future tense of "go" is "will go". Base word ir remain same, and 3x2 table is exactly same as future tense of -ar/-er/-ir verb.

 base word = ir (to go) singular plural
 I => First person

iré

ex: yo  iré => I will go

iremos

You (informal) => Second person

irás

iréis

He, she, You (formal=> Third person

irá

ex: él irá => He will go

irán

ex: ustedes irán => You (all) will go

 

Informal Future Tense:

We saw that future tense of "go" is "will go". "I am going" is present progressive tense of "I go", but both are translated the same => yo voy. "I am going to ..." is most used future form which translates to "voy a". "a" is added since "to" is always there (a is used 99% of the time with ir) => it's "going to place or doing activity, etc". Presence of "to" indicates it's future tense, and we use "a" for it. Strictly speaking "I'm going to" is not future tense, but is present progressive (as explained above). However, "go" is a special verb. Most of the times, "going to" translates to something in future, so we refer to it as informal future form. Informal Future tense of "go" is also used with other 3 verbs (have=tener, to be=ser/estar) with no change. Ex:  I am going to have => voy a tener. I am going to be => voy a ser/estar.

  • ir: Here" going to" is "voy a, vas a, va a, etc"
    • ex: I'm going to read/eat a nacho => voy a leer/comer un nacho => voy means "I am going", and to read/eat is "leer/comer". Since there is a real verb following "going", we have to use "a".
    • ex: Where are you going? => Under Personal aa in Noun section, we saw that when the response requires an "aa" response, the question should have an "a" in front of the question. It should be ¿ADónde vas? Response is => I'm going to Mexico => voy a mexico. ex: Where are the girls going? => ¿Adónde van las chicas?
    • ex: I'm going to go => yo voy a ir
  • tener: Future tense of 'Have to" is "going to have", which is same as ir form above with tener added, i.e va a tener, etc.
    • ex: She is going to have a drink => Ella va a tener una copa.
    • ex: She is going to have a baby => Ella va a tener una bebe (feminine) OR un bebe (masculine)
  • ser/estar: Future tense of to be is "going to be", which is same as ir(going) with ser/estar (to be) added. ser is for permanent condition, while estar is for temporary. ex: voy a ser OR voy a estar. See in ser/estar section.
    • ex: He is going to be a doctor => él va a ser medico
    • ex: You are going to be sick => vas a estar enfermo/enferma

 


Cortex M0+, M1, M3, M4, M7

These are all built as supersets of M0. They keep adding more hardware, support more instructions, more debug support, and hence resulting in larger size and higher power. The only exception is M0+ which is actually smallest microcontroller of all of M0 family.

 



Cortex M0+ (ARMv6-M):

Cortex M0+ is an optimized superset of the Cortex-M0, and is still based on ARMv6-M. The Cortex-M0+ has complete instruction set compatibility with the Cortex-M0 thus allowing the use of the same compiler and debug tools (so compilers etc still refer to arch as Cortex-M0) . The Cortex-M0+ pipeline was reduced from 3 to 2 stages, which lowers the power usage. In addition to debug features in the existing Cortex-M0, a silicon option can be added to the Cortex-M0+ called the Micro Trace Buffer (MTB) which provides a simple instruction trace buffer. The Cortex-M0+ also received Cortex-M3 and Cortex-M4 features, which can be added as silicon options, such as the Memory Protection unit (MPU) and the vector table relocation.

 


 

Cortex M1 (ARMv6-M):

The Cortex-M1 is an optimized core especially designed to be loaded into FPGA chips, and is still based on ARMv6-M. It brought back the 3 stage pipeline to improve performance.

 


 

Cortex M3 (ARMv7-M):

The Cortex-M3 is the first M processor based on ARMv7-M arch. It supports entire Thumbs1 and Thumbs2 ISA.

 


 

Cortex M4/M4F (ARMv7E-M):

Conceptually the Cortex-M4 is a Cortex-M3 plus DSP instructions, and optional floating-point unit (FPU). A core with an FPU is known as Cortex-M4F. It's based on ARMv7-M arch (or to be precise Enhanced version of v7 known as v7E)

 


 

Cortex M7/M7F (ARMv7E-M):

The Cortex-M7 is a high-performance core with almost double the power efficiency of the older Cortex-M4. It is like a modern processor featuring a 6-stage superscalar pipeline with branch prediction. A core with an FPU is known as Cortex-M7F. and is capable of single-precision and optionally double precision operations. The instruction and data buses have been enlarged to 64-bit wide over the previous 32-bit buses.

 

 

 

Digital Logic Design:

Here we'll cover some of the logic blocks that are used very frequently in RTL. We'll show code using Verilog. Some of the most common Logic elements are:

  • Logic Gates, flip-flops, i.e NAND, OR, LATCH, etc. These need a circuit diagram, and will be covered as analog part of digital
  • Clk gaters: These are also parrt of logic gates (available in librrary), but will be covered separately
  • Async Fifo => Very popular technique to transfer data from one clk domain to other clk domain

Asynchronous FIFO

This is such a popular interview topic and also a highly used component in design, that I'm having a separate section for this.

There are 2 very good papers on Async FIFO design by Clifford Cummings of SunBurst.

Add hand drawn diagrams