I was having unfinished work from last week of not having the results I wanted from the test bench. The acknowledge signal of Wishbone does not behave as what was expected. I edited the design code but it still did not work correctly. I asked Dr. Shawn about this and he said it was not about the design code but my test bench was written wrong.
I still could not get it right after Dr. Shawn told me what to correct so Dr. Shawn asked me to push the codes to the server as he wanted to see the codes. Dr. Shawn was busy with wedding preparations so we communicate through email about the problems I was facing. Now, this was the time I got scolded over chat in Slack. I made a new project in Git where I was supposed to just continue with the existing project. After that, I had problems pushing it to the server because I made a new repository. He did not have to be here to let me know that he was angry, seeing some capitals and apostrophes in the chat showed enough. I understand why, I deserve the scolding though, this is just code management and not even the project that I am on. Dr. Shawn emphasized that code management is important in organization as I am not working alone. Some companies even enforce coding styles and I was already having things easier using the tool Verilog Mode in Emacs. At the end, I finally managed to push with some commits that I redid because it was in a different directory and different repository previously. I was frustrated with myself that I was not working smart that I had to redo everything again.
Dr. Shawn corrected my test bench, my mistake was that I did not write the block for the acknowledge signal to work depending on the strobe signal. I was keen on starting with the next module after finally getting the first one done. I chose the buzzer and I ran some simple codes to see that it was working. I was working on passive buzzer and it allows frequency control. However, when I tested it with a different frequency it still sounded the same.
I then realized that there were two buzzers in the kit, an active buzzer and a passive buzzer. It looked exactly the same so it was actually an active buzzer I was working on. Active buzzer disadvantage is that we cannot determine its frequency of sound, just apply voltage and it makes sound. To do a frequency control, it must be done on the passive buzzer. This was the time I knew I was actually working on active buzzer, thus the code of changing frequency was not working on it. Since it looked exactly the same, it was only by running the codes that I could identify them. This time I made sure I labeled them correctly. I hope I will get my design code and test bench correct and running smoothly on the buzzer in no time.