- Видео 67
- Просмотров 134 175
FPGA Discovery (Learning How to Work with FPGAs)
США
Добавлен 5 янв 2011
Hello and welcome. This channel is all about digital design and programming FPGAs using Verilog.
If you enjoy the videos, please subscribe and like the videos as this helps RUclips push this content to more people interested in learning about digital design and FPGA programming. Thank you to everyone who has supported this channel by subscribing and liking.
Update:
The 7-Step Processor is now complete and verified for proper functionality. A tool chain for utilizing the CPU was also created and verified to work, for a simulated environment. The next step for this project is to implement the CPU on an FPGA and utilize it with real hardware.
GitHub repo located here github.com/FPGADude/Digital-Design
If you enjoy the videos, please subscribe and like the videos as this helps RUclips push this content to more people interested in learning about digital design and FPGA programming. Thank you to everyone who has supported this channel by subscribing and liking.
Update:
The 7-Step Processor is now complete and verified for proper functionality. A tool chain for utilizing the CPU was also created and verified to work, for a simulated environment. The next step for this project is to implement the CPU on an FPGA and utilize it with real hardware.
GitHub repo located here github.com/FPGADude/Digital-Design
CPU Series 1: The 7-Step Processor Part 6 - CPU Verification and Programming
In this video, the functionality and correctness of design of the CPU is verified through a testing process that includes writing programs for the CPU, assembling CPU programs into binary machine codes, creating a Verilog ROM containing the machine codes, transferring machine codes to CPU memory, and driving the CPU to execute the coded instructions.
Special thanks to Wenton Davis for supporting this project by writing the assembler.
Video Corrections:
3:55 - Not "semicolon", but "colon", to mark a label in an assembly program. The semicolon in an assembly program is used for comments.
11:48 - Double click on the "Python program file", not the "ROM".
18:12 - Not back to "step 6", but back to "...
Special thanks to Wenton Davis for supporting this project by writing the assembler.
Video Corrections:
3:55 - Not "semicolon", but "colon", to mark a label in an assembly program. The semicolon in an assembly program is used for comments.
11:48 - Double click on the "Python program file", not the "ROM".
18:12 - Not back to "step 6", but back to "...
Просмотров: 550
Видео
CPU Series 1: The 7-Step Processor Part 5 - A Complete CPU
Просмотров 295Год назад
In this video, a new data bus design is introduced, the remaining small CPU components are created along with a couple new components. Each component is simulated to verify functionality. Finally, the complete CPU is created in one Verilog module and a preview of Part 6 discusses a plan for verifying the operation of the completed CPU. Github space containing CPU_B: github.com/FPGADude/Digital-...
Improved Nexys A7 I2C Temperature Sensor
Просмотров 1,1 тыс.Год назад
An improved version of the previous Nexys A7 Temperature Sensor project. Improvements: reset removed (not needed), single always block in i2c master, and added Fahrenheit temperature conversion circuitry and display capabilities. Project files located here: github.com/FPGADude/Digital-Design/tree/main/FPGA Projects/Improved I2C Nexys A7 Temperature Sensor
I2C on FPGA Temperature Sensor Basys3 with PmodTMP2
Просмотров 3 тыс.Год назад
Using the PmodTMP2 requires modeling the PMOD pins on the FPGA with pullup resistors. The same files from Nexys A7 can then be used with PmodTMP2. This project adds functionality to switch between outputting Celsius and Fahrenheit temperature data. Project files located here: github.com/FPGADude/Digital-Design/tree/main/FPGA Projects/Basys3_PmodTMP2_Temp_Sensor
CPU Series 1: The 7-Step Processor Part 4 - Control Unit and Instruction Set
Просмотров 325Год назад
This video covers the control unit schematic and the processor instruction set. This is a long video, but the information within is paramount to understanding how the processor works and how it can be utilized within a computer system. Icarus Verilog download: bleyer.org/icarus/ Project files GitHub repository location: github.com/FPGADude/Digital-Design/tree/main/Microprocessor CPU Series/7 St...
CPU Series 1: The 7-Step Processor Part 3 - Clocks and Stepper
Просмотров 333Год назад
In this part we begin to examine the control unit in which the clock generation and stepper modules reside. We build the clock generation and stepper unit, and then test both using a Verilog test bench using Icarus Verilog and GTKWave. At the end of the video is a preview of the control unit that will be built using Verilog in Part 4. Link to Icarus Verilog and GTKWave: bleyer.org/icarus/ Link ...
CPU Series 1: The 7-Step Processor Part 2 - Arithmetic and Logic Unit (ALU)
Просмотров 267Год назад
Part 2 of the 7 Step Processor series. In this video we build the ALU from the logic schematic provided in the book. Then test it using a test bench module to verify its operation. Video corrections: 12:37 - operand B is "hex 55" not "hex CC" Link to Icarus Verilog and GTKWave: bleyer.org/icarus/ Link to Github repo with project files: github.com/FPGADude/Digital-D...
CPU Series 1: The 7-Step Processor Part 1 - Main Memory (RAM)
Просмотров 666Год назад
The first video in a series where we will build a simple microprocessor described in the book "But How Do It Know" by J. Clark Scott. Disclaimer: I do not personally know the author of the book, nor am I promoting this book. It is just a really cool book filled with logic schematics describing a simple 7-step microprocessor that I thought would be fun to build and test using Verilog. Video corr...
UART in Verilog on Basys3 FPGA using PuTTY
Просмотров 8 тыс.Год назад
Using a UART core coded in Verilog and PuTTY terminal emulator to communicate ASCII values between a PC and an FPGA. Download PuTTY here: putty.org Project files located here: github.com/FPGADude/Digital-Design/tree/main/FPGA Projects/UART
FIFO in Verilog on Basys3 FPGA
Просмотров 1,5 тыс.2 года назад
Creating a 3-bit data, 4-address memory FIFO in Verilog and demonstrating functionality on the Basys 3 FPGA using Vivado. Project code can be found here: github.com/FPGADude/Digital-Design/tree/main/FPGA Projects/FIFO
SPI on FPGA 3-Axis Accelerometer Nexys A7 or Basys 3 w/ PmodACL2 Verilog
Просмотров 4,1 тыс.2 года назад
Reading the 3-axis accelerometer ADXL362 on the Nexys A7 using SPI serial communications protocol in Verilog using Vivado. You can also use the Basys 3 FPGA with Pmod ACL2 which has the ADXL362. Website for Icarus Verilog: iverilog.icarus.com/ Project files located here: github.com/FPGADude/Digital-Design/tree/main/FPGA Projects/Nexys A7 3-Axis Accelerometer SPI
I2C on FPGA Temperature Sensor Nexys A7 or Basys 3 w/ Pmod TMP2 Verilog
Просмотров 10 тыс.2 года назад
Reading the temperature sensor ADT7420 on the Nexys A7 FPGA with I2C master created using Verilog and implemented on FPGA with Xilinx Vivado. Can also use the Basys 3 FPGA with Pmod TMP2 which has the ADT7420. Website for Icarus Verilog: bleyer.org/icarus/ Project files on Github here: github.com/FPGADude/Digital-Design/tree/main/FPGA Projects/NexysA7_Temp_Sensor_I2C
Counters in Logisim
Просмотров 3152 года назад
Demonstrating four different 4-bit counters in Logisim Evolution. Binary Counter Johnson Counter LFSR, xnor version LFSR, xor version
Linear Feedback Shift Register LFSR in Verilog on Basys 3 FPGA
Просмотров 9882 года назад
Demonstrating a 4-bit LFSR on Basys 3 FPGA coded in Verilog. Project files can be found here: github.com/FPGADude/Digital-Design/tree/main/FPGA Projects/LFSR 4-bit
Johnson Counter in Verilog on Basys 3 FPGA
Просмотров 3972 года назад
Demonstrating a Johnson Counter on the Basys 3 FPGA using Verilog. Program files can be found here: github.com/FPGADude/Digital-Design/tree/main/FPGA Projects/Johnson Counter 4-bit
Fibonacci Sequence Generator Circuit in Logisim Evolution
Просмотров 1,3 тыс.2 года назад
Fibonacci Sequence Generator Circuit in Logisim Evolution
Star Wars Imperial March Song on Basys 3 Verilog Vivado
Просмотров 1 тыс.2 года назад
Star Wars Imperial March Song on Basys 3 Verilog Vivado
PicoBlaze Sum of Squares on Nexys A7 FPGA Verilog Vivado
Просмотров 2432 года назад
PicoBlaze Sum of Squares on Nexys A7 FPGA Verilog Vivado
Intro to PicoBlaze Microcontroller on Basys 3 FPGA
Просмотров 1,1 тыс.2 года назад
Intro to PicoBlaze Microcontroller on Basys 3 FPGA
Simple Register File in Verilog Simulated in Vivado
Просмотров 1,5 тыс.2 года назад
Simple Register File in Verilog Simulated in Vivado
Compare Basys 3 to Nexys A7 & Stopwatch/Timer on Nexys A7 Verilog Vivado
Просмотров 7072 года назад
Compare Basys 3 to Nexys A7 & Stopwatch/Timer on Nexys A7 Verilog Vivado
VGA Clock & Calendar Verilog Basys 3 FPGA
Просмотров 1,4 тыс.2 года назад
VGA Clock & Calendar Verilog Basys 3 FPGA
A Simple ALU in Verilog Simulated in Vivado
Просмотров 1,7 тыс.2 года назад
A Simple ALU in Verilog Simulated in Vivado
Driving RGBs with PWM on Cora Z7-10 FPGA Verilog Vivado
Просмотров 4662 года назад
Driving RGBs with PWM on Cora Z7-10 FPGA Verilog Vivado
VGA Digital Clock in Verilog on Basys 3 FPGA Vivado
Просмотров 3,1 тыс.2 года назад
VGA Digital Clock in Verilog on Basys 3 FPGA Vivado
VGA Project Pong pt3 Complete Game with NES Controller Verilog Basys 3 FPGA Vivado
Просмотров 1,5 тыс.2 года назад
VGA Project Pong pt3 Complete Game with NES Controller Verilog Basys 3 FPGA Vivado
VGA Project Pong pt2 Complete Game Verilog Basys 3 FPGA Xilinx Vivado
Просмотров 4,7 тыс.2 года назад
VGA Project Pong pt2 Complete Game Verilog Basys 3 FPGA Xilinx Vivado
VGA PmodENC Project Verilog Basys 3 FPGA Vivado
Просмотров 5082 года назад
VGA PmodENC Project Verilog Basys 3 FPGA Vivado
How to use PmodENC Rotary Encoder on FPGA, Basys 3 Verilog Vivado
Просмотров 8942 года назад
How to use PmodENC Rotary Encoder on FPGA, Basys 3 Verilog Vivado
Making the Basys 3 FPGA Portable Verilog Vivado
Просмотров 1082 года назад
Making the Basys 3 FPGA Portable Verilog Vivado
Hi! I am trying to implement this code on a different FPGA board but am still using the same temp sensor. The board I am using is the Urbana board, and for some reason when I program the FPGA on Vivado, the only thing I read on the LEDs is 23 F and 0 C, and this is wrong for my room temperature which is 74 F, and this number doesn't change even when I apply heat to it directly. Does anyone have any advice or an idea on what the issue could be and a potential solution? Thanks so much!
Sir how can I do mapping for output variable "cols"? Should I type xdc file manually? I think I was be able to do mapping only for input variables. Thank you for your kind explanation.
Hi. I'm assuming that you want to output cols. What do you want to output to, LEDs? Yes, you would need to manually update the XDC file for the outputs.
@@dajoma36 Thank you for your kind explanation. Actually, I do not output cols directly to LEDs. What I have to do is to transform keypad signal into a 3-bit Opcode of ALU e.g. 0 into addition signal, 1 into subtraction signal. Thus, I have to put keypad signal into 7-bit variable and, using MUX, make the 7-bit value into 3-bit Opcode.
I thought row and col signal should be input of my ALU so that I can use the 7-bit signal from keypad as a Opcode, but somehow I failed. Your video showed me that "col" signal shoud be handled as "output variable, manually mapped in xdc file". I would be very grateful if you let me know I understand properly. Thank you for reading my comment in spite of my bad english, sir. :)
Great video
The z direction could be always in the positive direction because it’s always sensing gravity.
Great point!
What is the latency like? It looks like there is input delay or maybe delay from the screen. You would think the fpga itself would have almost no latency.
It's been a long time since I've made this video, but yeah, there isn't much latency in an FPGA.
Thanks
You're welcome. Thanks for your thanks.
Why don't we use AXI-Lite ?
I believe the AXI is only for use with Xilinx Zynq chips, which are SOCs (System on a Chip) that include FPGA fabric as well as processor fabric. AXI is used for the processor part.
@@dajoma36 so If I want to use it on Artix-7, I need a soft-core CPU like microBlaze right ?
@@thanatosor That's a good question. Sorry, but I don't have any experience with microBlaze and using AXI at all. I only know about it that it is used with the Zynq SOCs.
Did you know that you have a problem in your code? 26C should be 79F and 27C 81F (If rounded up). Do you know how it could be resolved?
Not sure what you are referring to. And, as the system works as designed, I don't see that there is any problem. Maybe you could provide more details to support your claim.
Hi David - Another excellent video - Just what I was after - Cheers :)
Sir i have learnt verilog Please recommend me projects on verilog Without using fpga
Well, if you are just starting out with Verilog, I recommend these projects, which are fun and interesting: -Decoder -Multiplexer -Flip Flop -101 Sequence Detector -Gray Code Counter Then maybe do some state machines: -Traffic Controller -Vending Machine -Voting Machine Each of these projects you can write Verilog circuits for and then verify the designs using a testbench written in Verilog. The Icarus Verilog software, with GTKWave signal viewer, can be very useful for simulating your designs. You can find it here: bleyer.org/icarus/ Good luck and have fun! David
Sir i will do projects on state machine After completing these projects I will inform you Thankyou sir
Sir what about Constraint file
Not sure what you mean, but the constraints file (.xdc) is in the Github page for this project.
@@dajoma36thanks for the video sir successfully completed project
@@reddymooram6017 Awesome! I hope it was helpful to you.
Nice one it is. By the way, this code only works on basys3? My fpga is other one:(
this is what we needed for our project. Thank you
Nexys A7 is basically upgraded version of Basys3 😂
Yeah, pretty much. It has a bigger FPGA chip with more logic fabric, and more widgets.
Which one is worthy for beginner to learn FPGA ?
The Basys3 is your beginner board out of the two here. The price is much less, also.
@@dajoma36 so what's Nexys Video for ?
@@thanatosor The Nexys Video has a much larger FPGA and many peripherals for doing projects with video, such as HDMI. It is also a very expensive board compared to the Basys3.
Really nice effort from you sir, can you please provide the testbench for this?
Thank you. The testbench has been posted on Github in the project folder.
@@dajoma36 Sir There is no testbench in Improved version folder
@@RevanasiddeshU-e5n I put the testbench in the folder with the original video. The i2c master files are exactly the same for the older video and the improved version. So, look for the testbench in the folder for the first video I did on the temp sensor using the Nexys-A7.
That testbench is not working for this improved version
@@RevanasiddeshU-e5n I'm sorry, that is the only testbench i have for this.
What is pullup true meaning with respect to sda direction ?
When no device is actively pulling the SDA line low, the pull-up resistor ensures that the line is at a high logic level (Vcc). This is crucial because it defines the idle state of the bus.
Thankyou ..It was I was missing in my project
sir, i 'm trying image load to vga monitor. In simulation, display variables are true but after the bitstream i can not see the image on the monitor. The monitor said 'no video signal'. What should i do? Can you help me, please?
I would recommend doing some troubleshooting. Look into the hardware such as cable and cable connections. To check your digital signals, you could use a logic analyzer on the VGA signals and verify if they are working correctly. Other than that, I couldn't tell you. If your circuit is simulating properly, and the bitstream is generated it is an acceptable circuit. Analyzing the signals coming from the FPGA to the monitor could help you find an issue or let you know that the problem is not this part.
Hi David - This is an excellent series of videos :) Dunno if you've come across Ross McGowan's "Design a CPU" series of videos or not ? These are also based on the "But How Do It Know ?" book, taking it to a 16-bit CPU, and then a Computer with a Keyboard/Monitor/Graphics Display. I found your RUclips website as I was looking for help with getting my "Computer" Verilog code (based on Ross's courses) onto a an FPGA (Basys 3) - Your stuff has proved to be really helpful - So: "Ta Much" :) Cheers, Tim.
Hi Tim, thanks again for your comments. I have not heard of Ross McGowan's videos. I will have to check him out. Sounds like he took the CPU to a whole new level, and that sounds really interesting. Take care.
Hi David - Interesting - I wasn't aware of the issues that can result from using tri-state buses - Anyways: I'm still using a tri-state bus on my "Computer" & all seems well on the Basys 3 with CLK_E/CLK_S running at 1MHz ... But "food for thought" - Ta much :)
Hi Tim, interesting that you got the tri-state buses working. I was having trouble with them, and the comments I made about them came from my old college professor who said that to me. He is also the one who created the assembler for the project. Glad to hear everything is running well for you!
A very clear explanation & demonstration of the Control Unit - Good stuff :)
Thanks again for your comments! Glad it is helpful.
Hi David - Another very interesting & informative video - Thanks again for putting all your FPGA Videos "out there" - Cheers :)
Thank you for the feedback. I'm glad my videos are helpful and useful to people. Thanks for letting me know.
Many thanks David, I learnt alot from your video.
Thank you for the positive feedback. I'm so glad it was helpful to you.
Greatly helped me for visualising my outputs of hardware accelerator I made for image processing for my mtech project. Thank you for the clear and precise explanation.
Thank you for the positive feedback. I'm so glad that it was helpful to you.
Can I do it with uart protocol? If yes how?
No. The temp sensor is designed to communicate using I2C.
Sir can you please help me with mu project... So basically I'm doing home alarm system using basys3 verilog code and my professor ask me to add buzzer and ultrasonic sensor when switch is on so how will i connect these two in breadboard... Using the pmod ports... And do I need any other components... Please help😢
In your GitHub repository, the “flag.v” file is missing. Unable to run the simulation.
Please respond, urgently need it.
Ok. Sorry about that. Thanks for letting me know. As soon as I get a chance today I will put the file in Github.
flags.v has been added to Github.
Hello how would you turn on the decimal points to separate 100 sec , seconds, minutes, and hours
Hi. You would need to include the decimal point for the segments. So, the segment would be bit-width of 8 [7:0] with seg[7] being the decimal point, and include the dp in the constraints file from the master XDC file. And you would only want to turn that bit on for the anodes/digits that you want to turn on the dp, not every digit.
Can you please help me on connecting basys3 to adruino and from adruino with breadboard connect buzzer and ldr with led for some use in home alarm system
Hey great video, but i am stuck at one issue, i think maybe you can help me?
btw i have put an email to you! Hoping to hear back soon!
Great stuff - Most informative - Thanks for putting it out - Cheers :)
7:37 I do not understand line #22
A case statement is a more elegant and concise way for checking conditions, like if/else. Inside the parentheses () is the condition to check. On line #22 the condition being checked is a concatenation of two signals into one signal. Concatenating signals in Verilog uses curly braces {} with the signals being joined separated by a comma. Hope this explains.
@@davidmarion8930Sorry, no it doesn't explain. I do understand how CASE works what I do not understand how the address is being evaluated with {row, column} You just so casually skipped it over by throwing "concatenation". How ? Does it really do + ? Then it makes no sense address = row + column. I'm lost. address = row * <size of row> + column - that would make sense, but you use {row, column} and that seems to work.
@@b213videoz Sorry, I guess I assumed that you might know what concatenation is. It is essentially joining the two signals into one. So, the bits of row and the bits of column will be joined into one, side by side, and evaluated as one for the CASE. It is not addition, nor multiplication, it is just placing them side by side. Example: if row == 0010, and if column == 1101, then the concatenation, i.e. joining, of the two, {row, column} = 00101101. Does this explain?
@@dajoma36Thank you, David. Yes, of course I know what concatenation is but I know close to nothing about Verilog and FPGA programming in general 🙂 As it turned out in that particular case you had a merge of two 4 bit bit pieces into an 8bit one, which resulted in 4 bit shift to the left + 4 bit addition which effectively is the same as high_4_bits * 32 + low_4_bits, only much more efficiently of course. My point is that was a non-trivial piece of code deserving some explanation yet it was just skipped whereas some trivial and obvious bits were explained too well. Anyway your examples (I mean code) are extremely easy to follow, I just bought your paper book at Amazon, I do hope there are some good explanations there.
Sorry I didn't explain everything. There's alot to cover in some of these videos, and I do try my best. I appreciate your feedback. Thanks for buying my book. I do hope it serves you well.
Excellent stuff! Thank you, author - the best tutorial on the subject I've managed to find so far. 10:00 this is what I don't understand though: the wall as per your code should be on the left side, its X coordinate is something around 35 BUT in your video it's on the right side of the screen. HOW ?
whole video is mirrored i think
@@NVISH-kb4nc Yeah, I thought so, then the author clearly mentioned in some other video.
@@b213videoz oh that’s great
Their is no testbench code in GitHub
bitstream generated but not working on board
please make a video on 8bit risc V implementation
@hardcode I received your message, but for some reason I cannot directly respond to you. As for your issue, why are you using 9600 baud? That is for a serial communications. All I did in the video was set up a simple 1Hz tick from the Arduino (LED blink sketch) to drive a counter on the Basys 3 FPGA, and then use a 7-segment display driver to display the hexadecimal value on 1 digit of the 7-segment display. If you are using serial communications at 9600 baud, then you are doing something different from what I did, and it is hard for me to know what your issue is. If you would like more assistance with your project, please email me with more details so that I can understand what you are trying to do and maybe help you out.
worst
worst video
After giving the xdc file in vivado, the bit stream isn't generating. What should i do?
Hi. Forgive me if I am being presumptuous. In order to make this work you need more that just the xdc file. You must add the Verilog files as source files and add the xdc file as a constraint file. Then, run synthesis, run implementation, and generate the bitstream.
Hi, I found this this is amazing and useful!!! But I have another question, if I want to input more than 4 characters on the keyboard, what should I modify🤔🤔🤔 Thank you so much!!!
You would need to make the FIFO capable of holding more than 4 characters.
I just found your channel and have to say that I am a huge fan. I am still pretty new to Verilog so your channel has been really cool to check out.
Thanks! I hope you can get a lot out of the content and that it is helpful to you.
@@dajoma36 Your content has been EXTREMELY helpful. You have exactly what I was looking for with all your Verilog VGA tutorials. Keep up the great content 👍
Hopefully you reply soon. But what are the parameters for the test bench? I created one but what are the inputs??
Not sure what you mean. A test bench has no inputs. It simulates the inputs to the module under test. Here is the test bench I used for this project: github.com/FPGADude/Digital-Design/blob/main/Modules%20with%20Simulations/Sequence%20Detector%20State%20Machine/seq_det_101_fsm_TB.v
@@dajoma36 I think I understand but my question is referring to rather or not does the test bench have any I/O port definitions
@@edwincrawford5619 No. A test bench does not have I/O ports.
How can I contact you?
You can contact me through the email address on my About page.
We can't find email address
Great content, thanks for this! Not sure if you'll see this but I'm trying to better understand how the code works with the animating and to do so I was challenging myself to try and make the box endless loop around the display area but was unable to do so after many hours of attempts. I am failing to understand where the square starts as I thought the x and y registers determined that but with my code whenever I reset, it would start on the bottom left of my screen, likely something to do with the code I modified to detect the borders. My idea was just to utilize the same border detection you had but I would want to start in the top left and then just only have movement either vertically or horizontally, no diagonal. So I just made it so whenever a border is hit, I would set the horizontal or vertical next registers to 0 and the other to the pos or neg where needed.
Sounds interesting. I don't see a reason why your idea of having the square bounce around the screen wouldn't work. Keep working at it, and I'm sure you will find a solution. Thank you for the nice comments. Happy Thanksgiving!
@@dajoma36 Thanks for the words of encouragement Just unsure of why whenever I introduce a new condition for a border it will only detect that condition and endless loop from there. For example I had the top border condition and then it would start top left and go down Then I introduced a condition for the bottom border then it would only start from bottom left Hopefully I can figure it out Have a great thanksgiving aswell!
Excellent work form your Side.
i mean not once have one of these codes worked for me
I haven't messed with this project since doing the video for it. I just broke out the Basys3, my VGA screen, opened Vivado, created the project files, copied all the code over from the GitHub repo, ran synthesis with no problem, ran implementation with no problem, generate bitstream with no problem, and the project is working just fine for me. I just typed "HI" on my screen from using the switches and buttons on the Basys 3. I am sorry that you are having problems. I guess, just make sure that you have copied over all the code correctly, including the Verilog files and constraints file. FYI, I am using Vivado version 2023.1.
I watch your videos regularly. I have a simple question. Suppose sensor supports 5MHz spi interface. That mean sclk is @5MHz. If we set output data rate of sensor @100 HZ how we make sure that we are logging the correct output samples during spi read from sensor? Because we are sampling @poseedge of sclk
Sorry, but I'm not really sure you mean and what you are asking. To be honest, I haven't done anything with SPI except for that video.
@@dajoma36 ok no problem. How can we check the code without real sensor? Any emulated idea.? How to generate miso data without sensor.
@@fmm5322 You should be able to test the circuit without a real sensor using a test bench module. To generate the sensor data, you would need to find out how the data is formatted, and then use that data format in the test bench script to stimulate the circuit, along with the other inputs for the circuit, such as clock, reset, etc.
Is there any way I could not have the decoder initially set the value of dec_out to "0000" once the program starts? Could I set dec_out to null initially so that when the program starts there is nothing being driven out of dec_out until a button is pressed?
Sounds very feasible to me. I don't see why you couldn't do that.
great video. I was stuck on how to control the seven segments individually and this was the only video i found that explained it