V-Codes
V-Codes
  • 17
  • 239 923
How to use AMD Vivado's IP Catalog to create a Block RAM
Learn how to create a new project in AMD Vivado and then generate a Block RAM IP from the built in IP's provided by AMD. Also learn how you can initialize the contents of the BRAM. The testbench code is used to verify that the design is working well.
Get the testbench code from here: vhdlguru.blogspot.com/2010/10/how-to-use-coe-file-for-initializing.html
Hope this is useful for you. If you want 1 on 1 tutoring in the field of FPGA programming, get in touch with me.
00:00 Introduction
00:45 Creating a new project in AMD Vivado
02:30 Creating BRAM from IP Catalog
07:50 How to initialize the BRAM IP with coe file?
14:08 Testing the Block RAM
Link to my VHDL Blog: vhdlguru.blogspot.com/
Link to my Verilog Blog: verilogcodes.blogspot.com/
มุมมอง: 1 210

วีดีโอ

Find out What's Wrong with this VHDL code for RAM #2 of [Test Your VHDL Coding Skills]
มุมมอง 3032 ปีที่แล้ว
Try and see if you can correct the mistake in the VHDL code. If not, no worries. The solution to the problem is also within the video. Download the VHDL file used in this video from here: drive.google.com/drive/folders/17zekqMDcapFALyM2oiJlV3nlsxoLzTlo?usp=sharing 0:00 - Introduction 0:32 - Explanation of RAM code 3:25 - Synthesis Results 5:27 - Solution 7:30 - Synthesis Results for the Solutio...
Generic Sine Wave Generator (LUT Based) in VHDL
มุมมอง 4.5K2 ปีที่แล้ว
In this video, I want to share and explain a LUT based Sine wave generator. The code is written so that it can be easily changed to generate different frequencies. The online tool for generating Sine values: www.daycounter.com/Calculators/Sine-Generator-Calculator.phtml VHDL Sine wave generator with testbench: drive.google.com/drive/folders/1KdR6KzqRmVuGH2LHSCLFHuHQzaTgW33m?usp=sharing Link to ...
[Ripple Carry Adder] Writing a Self-Checking Testbench in VHDL - #3 Of Testbench Series
มุมมอง 1.9K2 ปีที่แล้ว
In this video I will be sharing and explaining VHDL for a 4 bit Ripple Carry Adder and its testbench. The testbench will test the RCA for all its available inputs and check if there is an error "Automatically". Download VHDL codes from here: drive.google.com/drive/folders/1oTZdfL_nAcppFrgyEuzThCytyHwvoQJr?usp=sharing 00:00 - Introduction 00:29 - 4 bit RCA VHDL code 03:44 - Testbench 09:33 - Sim...
How to write multiple VHDL entities in the same file - VHDL Tips & Tricks
มุมมอง 2.5K2 ปีที่แล้ว
The video shows what exactly it says in the title. Short and precise. Shown with the help of a very simple example for beginners to understand how it works! Download the final code from here: drive.google.com/file/d/14JJoBVwGO5jEKrLMcTg3nvTkzsm-_fAi/view?usp=sharing
Signal not being set correctly inside a VHDL process #1 of [Test Your VHDL Coding Skills]
มุมมอง 8072 ปีที่แล้ว
Try and see if you can correct the error in the VHDL code. If not, no worries. The solution to the problem is also within the video. Download the VHDL file used in this video from here: drive.google.com/file/d/1HodGn0E6LHJyu3o9sn-IBsWJESAXhGHE/view?usp=sharing 0:00 - Introduction 0:31 - VHDL code snippet 1:02 - Simulation 1:22 - Solution [Sorry for the re-upload, as the first one came out weird]
[Part 2] Synthesizable Digital Clock with 7 segment Display Decoder and Testbench in VHDL
มุมมอง 2.3K2 ปีที่แล้ว
This video is an extension of the previous video, where we discussed a Digital Clock VHDL code. In this extension project I want to convert the digital clock outputs to BCD digits and then pass it to a 7 segment decoder function so as to be able to make use of the 7 segment displays on FPGA boards. I have tested the module with the help of a testbench which I have simulated in Xilinx ISE 14.7. ...
[Part 1] Synthesizable Digital Clock with Testbench and Simulation in VHDL
มุมมอง 4.2K2 ปีที่แล้ว
In this video I wanted to explain the working of a Digital clock in VHDL. This clock has an additional feature of being able to adjust its time as well. I have tested the module with the help of a testbench which I have simulated in Xilinx ISE 14.7. Get the VHDL codes from my blog post: vhdlguru.blogspot.com/2022/04/digital-clock-with-ability-to-set-time.html Contents of this video: 0:00 - Intr...
Writing a Testbench with a Clock in VHDL - #2 Of Testbench Series
มุมมอง 6K2 ปีที่แล้ว
In this video, I will show you how to write a testbench in VHDL for testing an entity with a Clock. The entity we are testing is just an AND gate. And the AND gate output is worked out at the positive edge of the clock cycle. The coding is done and tested on Xilinx ISE. Download the VHDL codes in this video from here: drive.google.com/drive/folders/1gFg1sb0Jw1HaUi88Fb68GPtZwJAA4lFJ?usp=sharing
Writing a simple Testbench in VHDL - #1 Of Testbench Series
มุมมอง 14K2 ปีที่แล้ว
In this video, I will show you how to write a testbench in VHDL. This is super beginner level testbench, where the entity we are testing is just an AND gate. Nonetheless it will give you a good introduction to this topic. The coding is done and tested on Xilinx ISE. Download the VHDL codes in this video from here: drive.google.com/drive/folders/1fL61ykPSBleGIS3Qvkth88B7GoS1U831?usp=sharing
How to Find Fractional Square Root Of a Number with VHDL/Verilog
มุมมอง 4.8K3 ปีที่แล้ว
Finding square root of fixed point number is not that difficult. You can simply use an existing integer square root module with very few changes to do the same. Square root calculator: VHDL - vhdlguru.blogspot.com/2020/12/synthesizable-clocked-square-root.html Verilog - verilogcodes.blogspot.com/2020/12/synthesizable-clocked-square-root.html Document Explained in the Video - drive.google.com/fi...
Writing a Gate Level VHDL design (and Testbench) from Scratch
มุมมอง 1.5K3 ปีที่แล้ว
This video is for Beginners in VHDL. How could you write a VHDL code for a logic circuit diagram along with its testbench. Step by step process to get your code working in no time. The codes can be downloaded from my VHDL blog post : vhdlguru.blogspot.com/2020/11/writing-gate-level-vhdl-design-and.html I am using the free student version of Modelsim for this. VHDL Tutorial Blog: vhdlguru.blogsp...
Synthesizable Matrix Multiplication in VHDL
มุมมอง 5K3 ปีที่แล้ว
The VHDL code is available from my Blog : vhdlguru.blogspot.com/2020/11/synthesizable-matrix-multiplier-in-vhdl.html The video simply explains the code and how it can possibly be converted for handling different sized matrices. I have used Modelsim SE for testing the code. VHDL Tutorial Blog: vhdlguru.blogspot.com/ Verilog Tutorial Blog: verilogcodes.blogspot.com/
Simulating a VHDL/Verilog code using Modelsim SE.
มุมมอง 18K3 ปีที่แล้ว
ModelSim is a very popular simulation tool among VHDL/Verilog programmers. In this video I try to show you how to compile and simulate a simple VHDL code. The method is the same even if the codes are in Verilog. I am using the free student version of Modelsim for this. VHDL Tutorial Blog: vhdlguru.blogspot.com/ Verilog Tutorial Blog: verilogcodes.blogspot.com/
Online Automatic Testbench Generator For VHDL and Simulation Using Xilinx Vivado
มุมมอง 9K4 ปีที่แล้ว
In this video, I would like to show you how to create an automatic testbench for your VHDL design. The design code and the automatically generated testbench is then tested using the Xilinx Vivado 2019.2 tool. Automatic Testbench Generator For VHDL fro Doulos: www.doulos.com/knowhow/perl/testbench_creation/ A list of VHDL codes for you try your hands on from: vhdlguru.blogspot.com/p/example-code...
How to Simulate a VHDL/Verilog code on Xilinx Vivado 2019.2
มุมมอง 79K4 ปีที่แล้ว
How to Simulate a VHDL/Verilog code on Xilinx Vivado 2019.2
How to compile and simulate a VHDL code using Xilinx ISE
มุมมอง 84K8 ปีที่แล้ว
How to compile and simulate a VHDL code using Xilinx ISE

ความคิดเห็น

  • @ObaidUllah-hk6tj
    @ObaidUllah-hk6tj 3 วันที่ผ่านมา

    how to read data from coe file

  • @nitdawg007
    @nitdawg007 6 วันที่ผ่านมา

    This was a great explanation video. Can you try creating a video with self checking testbench of a slightly complex module.

  • @touple6190
    @touple6190 หลายเดือนก่อน

    i have a machine code in a txt file i would like to convert it to a .coe file, do you know anything i can use to do that?

  • @user-st1lx3sv9y
    @user-st1lx3sv9y หลายเดือนก่อน

    i understood very well thanks for the videos

  • @adlaistevenson146
    @adlaistevenson146 หลายเดือนก่อน

    The signal speed in my simulation needed to be modified to work. You have your clock period at 10ns and are changing your addr every 10ns but I needed several clocks for each read. It's like my BRAM device was slower, but I used the same settings as you. Could my Verilog code effect that?

    • @adlaistevenson146
      @adlaistevenson146 หลายเดือนก่อน

      oh wait a minute, my settings are different than yours, it's a 512 x 8 so has 9 address lines, that would change the timing.

  • @adlaistevenson146
    @adlaistevenson146 หลายเดือนก่อน

    I have followed your video and added the BRAM Block from the Vivado Catalog to my Verilog design. I am not doing the COE initialization, how would that work if the design was programmed to an FPGA board? It seems the COE data file needs to come from the Vivado environment, so the FPGA board will not have this.

    • @VCodes
      @VCodes หลายเดือนก่อน

      hi. the contents of the coe file is already processed during compilation. So the generated bit file already contains the values given in the coe file.

  • @adlaistevenson146
    @adlaistevenson146 2 หลายเดือนก่อน

    Thank You for the nice video, but I don't understand why it generated VHDL code, was that selected somewhere that I missed? Could I select Verilog instead?

    • @VCodes
      @VCodes 2 หลายเดือนก่อน

      Hi, not all IP cores have the generated code in both VHDL and Verilog. The available language(s) can be seen from the IP data sheet. For this particular IP, its only available for VHDL. But it doesnt matter, you can instantiate the IP in Verilog top module too. Just keep in mind the size and name of the input and output signals of the IP.

    • @adlaistevenson146
      @adlaistevenson146 2 หลายเดือนก่อน

      @@VCodes OK I think I will try to do what you suggest, to use the BRAM in a verilog design. Thanks!

  • @R4tlehed
    @R4tlehed 3 หลายเดือนก่อน

    thank you man , i just got a project to do on a basys 3 board and i had no idea how to do such simulation ( teacher has no time to explain everything on a study by correspondence ) and i have only week or two to do a project without a board . Anyways you just saved me with that simulation guide

    • @VCodes
      @VCodes 3 หลายเดือนก่อน

      so glad to hear that. I do teach for a fee when there is a request. so, if things get really troublesome in the future you can always ask me for guidance.

  • @srikanthchowdary7068
    @srikanthchowdary7068 4 หลายเดือนก่อน

    Hii sir how can i contact you

    • @VCodes
      @VCodes 4 หลายเดือนก่อน

      my email is available here: vhdlguru.blogspot.com/p/contact-me_23.html

  • @sokullumahmutpasa6651
    @sokullumahmutpasa6651 4 หลายเดือนก่อน

    thanks

  • @siddhantbalkawade4728
    @siddhantbalkawade4728 4 หลายเดือนก่อน

    sir , can you please share the specifications ?

    • @VCodes
      @VCodes 4 หลายเดือนก่อน

      what do you mean by specifications?

    • @adlaistevenson146
      @adlaistevenson146 2 หลายเดือนก่อน

      He has kindly provided the source code on his website, you should look there. And Thanks to VCodes for his good work!

  • @KushagraMishra12
    @KushagraMishra12 5 หลายเดือนก่อน

    Can you please tell me whether this code can be used for Basys 3 FPGA?

    • @VCodes
      @VCodes 4 หลายเดือนก่อน

      it can be used. but not directly as inputs and outputs are 72 bits each. so you would need to write a wrapper to input numbers in multiple stages. and also show the output in multiple stages. like you set the switches, push a button and then change the switches and so on.

    • @KushagraMishra12
      @KushagraMishra12 4 หลายเดือนก่อน

      @@VCodes Can you provide me the code if possible?

    • @VCodes
      @VCodes 4 หลายเดือนก่อน

      I dont have the code readymade for this. but you can write up a state machine for this. if you attempt it, I can guide you through the process. but I do charge a fee for my time. send me an email if you want.

  • @adelingt
    @adelingt 5 หลายเดือนก่อน

    exceptional tutorial. Best I've seen. There are only 3 things to keep in mind: signal declaration before the first begin, instantiation (port mapping), then process to update in time the inputs.

  • @danny_racho
    @danny_racho 5 หลายเดือนก่อน

    Ehm why do you have the word "verilog" in the title, if it's just vhdl? This is absurd..

    • @VCodes
      @VCodes 5 หลายเดือนก่อน

      Thats deliberately put there because the steps involved in simulating a verilog code is not much different than vhdl. Did you try following the steps mentioned in the video?

  • @yassinekhlaf2053
    @yassinekhlaf2053 7 หลายเดือนก่อน

    thank you it helps so much

    • @VCodes
      @VCodes 5 หลายเดือนก่อน

      You're welcome!

  • @felipeferreira1960
    @felipeferreira1960 7 หลายเดือนก่อน

    Very helpful video

  • @LNguyen921
    @LNguyen921 8 หลายเดือนก่อน

    thank you for the tutorial! was very clear and easy to follow.

    • @VCodes
      @VCodes 5 หลายเดือนก่อน

      Thank you!

  • @sundramkumar5655
    @sundramkumar5655 9 หลายเดือนก่อน

    please explain the steps involved in getting the rom values from matlab

  • @javiercabrera8539
    @javiercabrera8539 11 หลายเดือนก่อน

    How to compute the inverse of the square root?

  • @slavahd2641
    @slavahd2641 ปีที่แล้ว

    how i can output the sine wave in 1 output

    • @VCodes
      @VCodes 5 หลายเดือนก่อน

      What do you mean?

  • @kabandajamir9844
    @kabandajamir9844 ปีที่แล้ว

    So nice thanks

    • @VCodes
      @VCodes 5 หลายเดือนก่อน

      Thank you!

  • @mubasheer5584
    @mubasheer5584 ปีที่แล้ว

    Good one bro.. Thanks for this tutorial. How do I map these digital outputs to 12 bit parallel DAC inputs?.

  • @shivangisharma6732
    @shivangisharma6732 ปีที่แล้ว

    how can i run Debugdb in modelsim .

  • @mesterlbizani4503
    @mesterlbizani4503 ปีที่แล้ว

    with component please

  • @dhoneybeekingdom7889
    @dhoneybeekingdom7889 ปีที่แล้ว

    I come from a software background and I am just starting with hardware development. As such, I really appreciate examples with SIMPLE logic like this (adders, counters, memories, etc. are too complex for me at this point). Thank you for this tutorial.

    • @VCodes
      @VCodes 5 หลายเดือนก่อน

      Sure. Hope those things you mentioned arent that complicated anymore! To people from software background I say, "Think along hardware, and not software".

  • @brajkishorrajput9238
    @brajkishorrajput9238 ปีที่แล้ว

    plz share any contact detail sir

    • @VCodes
      @VCodes 5 หลายเดือนก่อน

      my email should be visible in the "about me" section or from my blog, vhdlguru.blogspot.com/

  • @janhorak597
    @janhorak597 ปีที่แล้ว

    Thank you very much

    • @VCodes
      @VCodes 5 หลายเดือนก่อน

      Thank you

  • @user-zj3ef1bh4d
    @user-zj3ef1bh4d ปีที่แล้ว

    hello, thanks a lot for the explanation of the code ,can i have the ucf document?

  • @ritasallumi798
    @ritasallumi798 ปีที่แล้ว

    Hi, are you able to produce a xdc file for the basys 3 based on this.

  • @almostabouteverything1112
    @almostabouteverything1112 ปีที่แล้ว

    Very helpful video

  • @lavanyapadala3119
    @lavanyapadala3119 ปีที่แล้ว

    Thank you so much man....

    • @VCodes
      @VCodes 5 หลายเดือนก่อน

      Thank you!

  • @A_Random_Ghost
    @A_Random_Ghost ปีที่แล้ว

    Thanks for the video.

    • @VCodes
      @VCodes 5 หลายเดือนก่อน

      Thank you!

  • @Bo6oo
    @Bo6oo ปีที่แล้ว

    This was a very good explanation, it helped me a lot! Greetings from germany

    • @VCodes
      @VCodes 5 หลายเดือนก่อน

      Thank you!

  • @nitdawg007
    @nitdawg007 ปีที่แล้ว

    Thank you, this is very helpful.

    • @VCodes
      @VCodes 5 หลายเดือนก่อน

      Thank you!

  • @nitdawg007
    @nitdawg007 ปีที่แล้ว

    This was a very good example. Could you create a VHDL self checking test-bench.

  • @naughtynatwar4326
    @naughtynatwar4326 ปีที่แล้ว

    good and rare content👌👌👍

  • @dishan9644
    @dishan9644 ปีที่แล้ว

    Thank You very Much..Great Explanation...

    • @VCodes
      @VCodes 5 หลายเดือนก่อน

      Thank you!

  • @mbuaesenju8514
    @mbuaesenju8514 ปีที่แล้ว

    thank you for your code. I used it to learn

    • @VCodes
      @VCodes 5 หลายเดือนก่อน

      Thank you!

  • @pepesylvia2208
    @pepesylvia2208 ปีที่แล้ว

    thank you, this was very straight forward and not overwhelming

    • @VCodes
      @VCodes 5 หลายเดือนก่อน

      Thank you!

  • @thedude7134
    @thedude7134 ปีที่แล้ว

    I need help with VHDL assignments. I'm willing to pay for tutoring as well... kindly reach out to me if you are interested. Thank you

    • @VCodes
      @VCodes 5 หลายเดือนก่อน

      I wasnt available for tutoring then. Now I have started doing so. Putting this out here for anyone who is interested. Thanks for the support.

  • @afranahar3461
    @afranahar3461 2 ปีที่แล้ว

    Its shows error while compiling "library unit env is not available in library std " how to resolve this?

  • @deathmaster4035
    @deathmaster4035 2 ปีที่แล้ว

    Hi, how do you make the clock run for a fixed duration though? I have noticed that the simulation only runs for 1000ns no matter where I try to implement this.

    • @deathmaster4035
      @deathmaster4035 2 ปีที่แล้ว

      @@VCodes Any idea how to do it for VIVADO? The simulation window doesn't open unless I run the simulation first, which means that I cannot type in the value in the required field. Also, after running the simulation, if I try to run again by typing a specified duration, it keeps on going forever until I break it.

    • @deathmaster4035
      @deathmaster4035 2 ปีที่แล้ว

      @@VCodes Allright, thank you.

  • @deathmaster4035
    @deathmaster4035 2 ปีที่แล้ว

    How do you save the simulation results to a text file?

  • @cristianlerro9570
    @cristianlerro9570 2 ปีที่แล้ว

    thank you for ur work, it is very useful!

    • @VCodes
      @VCodes 2 ปีที่แล้ว

      thanks. glad to hear that it was helpful..

  • @khushaljagtap4883
    @khushaljagtap4883 2 ปีที่แล้ว

    What if it has 8 7 segment display?

    • @VCodes
      @VCodes 2 ปีที่แล้ว

      Just ignore the two and use the rest of the six segments. What fpga board are you using?

  • @jamespeter4352
    @jamespeter4352 2 ปีที่แล้ว

    Great Explanation! Since this is for 6-didgit seven segment display, what if it is a 2-digit seven segment display.

    • @jamespeter4352
      @jamespeter4352 2 ปีที่แล้ว

      @@VCodes can we have code for 4 -digits display; that is for hours and minutes only.

    • @VCodes
      @VCodes 2 ปีที่แล้ว

      You can just remove the instantiation for seconds 7 segments decoder and it should work. Use whatever outputs you need and ignore the rest.

  • @nunustone7133
    @nunustone7133 2 ปีที่แล้ว

    Thx for this well prepared tutorial.

  • @peskysmurf7414
    @peskysmurf7414 2 ปีที่แล้ว

    loooool the cow at 4:29. Full Gaurakhshak!

    • @VCodes
      @VCodes 5 หลายเดือนก่อน

      lol!

  • @tanchienhao
    @tanchienhao 2 ปีที่แล้ว

    worked for me, thanks!

    • @VCodes
      @VCodes 5 หลายเดือนก่อน

      Thank you!