Skip to content

brev404/Infineon-Summer-School

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Infineon-Summer-School

This is a project written in verilog for the first week of Infineon-Summer-School. The purpose was to implement a Universal Asynchronous Receiver-Transmitter. You can check the documentation on which this project is based here. For verifing the implementation I used Cadence XCelium.

This is how the first week looked like:

  • Prologue

    • visited a couple of the company's labs
    • listened to a presenation about the stages of developing a product
  • First day (beginner friendly)

    • learned to use X2GO (how to create a session, how to add shared folders)
    • customized my workspace to be nicer
    • rediscovered basic linux commands (cd, pwd, ls with all the nice flags and others)
    • helped two colleagues understand how to work their way in the X2GO client and linux
    • revisioned base CID concepts
    • learned to use gedit as text editor and Cadence XCelium as simulator
    • started writing the baudrate generator to lower the frequency of the systems clock
  • Second day

  • Third day

    • improved some lines of code in the control part of the fifo buffer
    • wrote a testbench for the fifo buffer to check the empty and full flags and if it respects the fifo rule
    • designed on paper the uart_tx with its states
    • started writing the uart_tx which is a finite state machine at base
    • helped a couple of colleagues understand the non-blocking attribution and how to move from one state to another
    • revisioned CID automated concepts
  • Fourth day (pray day)

    • finished the uart_tx without writing a testbench for it and started praying
    • wrote the main file of the project uart_transmitter which linked all the other files and continued the prayers
    • wrote the nicest testbench that I could, to see if the uart_transmitter actually works
    • simulated the testbench a couple of times and kept on modifying the uart_transmitter until it was showing the normal waveform
    • encountered some problems going from STOP to IDLE so kept on modifying until the waveform actually worked
    • reviewed the entire code, and added comments for a better understanding

    Future repeats itself

About

Infineon Summer School 2022

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published