Jump to content

drkome

Members
  • Posts

    22
  • Joined

  • Last visited

Everything posted by drkome

  1. I wrote my own RISCV processor. and I tested it on Zybo z7-20 board. I did not experience any problems in many tests. But I tried to do the Dhrystone test. I noticed something in the simulation when all print commands were working correctly while filling the fifo correctly. The FPGA was also causing problems while communicating with the console. See part of the image above as an example. The first 2 prints fill the UART's fifo correctly in the simulation. And the uart is created successfully. Vivado Simulation. Uart application in console. And I didnt see "ee_printf ("Dhrystone Benchmark, Version 2.1 (Language: C)\n");" in this console. while it works fully and accurately in the simulation. Is there a problem with it working this way on FPGA? Is this definitely an implementation problem? I using Zybo-z7-20. I make this RTL with 20MHZ. UART spec 115200 baudrate.
  2. @zygot Thank you very much for helping me, I learned a lot of different things while reading what you wrote. I found the problem. But I couldn't find how to solve it. But this is success for me for now. The compiler runs the lui command in the background even if I'm not using lui. As soon as the system enters the lui command. That's why the system doesn't work. LED is flashing now. The compiler adds the upper immadiate command to the li command if I type an over 11-bit number, so it doesn't work. The problem is that the lui command is a verilogal error? Is it a bug with the timer? I'm relieved to have found this now. This was my thesis project. If I hadn't found some more, I would have cried. Thank you very much for helping me. I learned a lot. WhatsApp Video 2023-07-16 at 21.19.04.mp4
  3. @Niță Eduard thanks for try helping to me. I have control_unit.v, this module has Hazar_unit and forwarding Unit. I looked at the simulation and there is no danger and the system works in the simulation. Also, there is no problem in the simulation. All registers are added correctly and on time. Finally, I get the led output I want. If I want to light the led with only one command assembly command, I can light the led. But when the event enters the branches, the system breaks down. Branches work very well in simulation. Without any hazard. I don't understand why it doesn't work on the card. Maybe there is a problem with the reset. But I need to try ILA. OR Negedge is problem for bram ? Maybe system is working in simulation but Bram may not working in physical system.
  4. @zygot thanks for answer, I looking this UG474, UG472 and UG471. @Niță Eduard Hello, now I try to make RV32I and pipeline architecture. Actually my project is finished. But dont work in FPGA. I will try to explain everything in order. you may be right. Maybe I can't see the led. But when I extend the timing excessively, the led lights up and it should not light up. Or not appearing at all. 1_)Since I don't have any IO outputs, I wanted to see a physical led operation. For this, I connected a bit of the outside led from the x3 register in the register file. that's my only goal right now. My constraints file 2._)By the way, I gave up on using a clock divider. I am using ClockWizard. My FGPA working at 125mhz. My clock wizard is like this. (very little loop number photos bcs of you can see pin clock edge) I knew this pin periods is very little. I am increasing the loop before embedded FPGA. This is my register file. like this because it is an infinite blink command. Here, the pin led does not light because I have increased the loop too much. It does not appear in the simulation. In the assembly command I wrote, the led does not light at first, it goes into a loop. Then the led starts to light. But when I press reset once in the system, the led lights up. Then the LED should not have been on at all. Because there is a 3b9aca00 value loop in front of it in the above register file. (Don't be confused, the pin in the other photo is made in less cycles, so the led seems to be blinking.) EDİT= I seem to understand why the problem started. It's about branching operators. But I still haven't been able to solve the problem. Let me explain how I found the error. If I write a command like above, branches, Led does not light. Because it's always in a loop. this time if i write code like above. Branch does not loop because x4 and x5 are equal. running li x3.1. BUT! If I want to count 5 times and then exit the loop and turn on the led, as in the code example above. The LED stays off. But when this branching condition appears in simulation and works correctly in simulation . The card does not work. If I saw that the led was lit only with this code, there would be no problem.
  5. @zygot Hello! module counter1( input clk, rst, output reg [7:0] counterout ); always @ (posedge(clk), posedge(rst)) begin if (rst) counterout <= 0; else counterout <= counterout + 1; end endmodule I using this clock divider, bcs if I dont use this clock divider, My processor dont work bcs of worst slack ,that's why I using this. and this is my risc assemby instructions. I made loop code in venus(web sites), maybe I can try to raise li x4,10000000 number. x3 register is my led register. and and I left using clock divider. I using clock_wizard now. and "How did you implement this?" I dont understand this. I still new this fpga sorry. Maybe I'm asking a simple question. But it is difficult to get answers to some questions.
  6. I gave a pin out from the register file to test it. It works very well in simulation. I have a Zybo Z-7-20 card. When I embed my project in it, it doesn't work. I programmed the blink command with assembly. In FPGA, only the light is on. In case there is a clock problem. I used a clock divider. The LED is on at first. Then it doesn't go off. But this process succeeds in simulation. If I need to send output or a document for this, I can post it. Can you help me?
  7. drkome

    Sending data to BRAM?

    @artvvb so can I fill the .hex file inside the bram with the bitstream and then embed it in the FPGA?
  8. drkome

    Sending data to BRAM?

    I was designing a RISC-V processor for my thesis project. But I decided to use BRAM. I didn't know how to load data after bitstream. I will research the keywords you provided. Thank you
  9. drkome

    Sending data to BRAM?

    BRAM structure I created as Verilog code, How do I send the data later to save it. I have a Zybo Z-7 Card. I have my own RISC-V processor. And I'm communicating with BRAM. All in verilog code format. But I want to throw code(instruction) to BRAM. How can I do that.
  10. @zygotI needed to get information from vivado about how many hours my processor is and its power consumption. For the competition. I can get a full clear result right now. Thank you for your help. It's good that my problem is solved for now. If this command does not work for me in other projects in the future, then I will try other ways. :) and thank you again.
  11. I just write (*KEEP="true"*) in my SoC.v file, And now I get this. Thnaks for answer @zygot @asmi
  12. @asmi Yes! But I need this for competition. Do i have a chance to synthesize all the components? Even working signals.
  13. @asmiIn the future, I will want to load command to memory with uart. If nothing appears in the implementation as the memory appears to be empty, this process will not work. I am in the competition. There is a situation like loading instructions with uart in the competition. This requires compiling the entire core. The only command you see above is loaded. But the kernel executes all the commands. The more commands I pass into memory, the more it appears. I want it all to appear with uart in the operations I will do later.
  14. I'm designing a processor architecture with RISC-V. I do synthesis and implementation with Vivado before putting it on my card. But it synthesizes and implements as much as the assembly codes in my Instruction memory. It does not synthesize the whole nucleus. It's optimizing. I dont want this. I want him to synthesize them all. how can i fix this. I send my photo about this. Vivado just do syntesis of addi x1,zero,5. it didnt do of all core
  15. @zygot, @engrpetero So thank you for help.
  16. @zygot Thanks for answer; I have pl2303 uart cable, and this cable have VCC(5V),gnd,TX,RX, The card is damaged because I connected this cable before. Will it hurt if I connect this cable only to the gnd? Even if I don't connect the 5v volt?. Or is there any other method for zybo z7-10 card for uart? It is easier for uart communication. (Moreover We are participating in the processor design competition. We need to write the wishbone bus and the whole processor as hdl. Including Uart. There will be no use of any ready-made IP or block diagram.) Thank you so much.
  17. Can UART communication be made from any pin of zybo z-7-10 or any FPGA card? I will be glad if you answer these 2 questions. I burned my card while making uart communication from one pin before. Now I want to ask out of curiosity.
  18. @zygot sorry for not expressing myself, It seems that what I want to tell and what you want to explain are very different. I cannot express myself fully. I want to say this. I connected a uart cable in the PL303. I connected the 5V pin of the UART cable to the 3.3 PMOD pin. As soon as I made this connection, all the leds on the board went out at the same time. and the default program was installed in the card. Then Vivado saw the card. But I couldn't send the program. I thought I burned the card. I sent you a message. I have always powered and programmed the board from the J12 pin. I know this. But I can't program anymore since I made a UART connection. Because no matter what I do, only the LD13 led is on on the card. When I connect with ADEPT, the card appears. But from the moment I send the program to the card, any led does not change. I followed your steps it is set to JTAG. I put the CARD switch off mode. I plugged in the USB cable. I sent the bitstream you provided to the card via my adept program.but nothing has changed. Then you asked me to plug a 3.3v uart cable or I misunderstood, but I made a connection from the 3.3v input of the stm32 and sent you a photo. Only LD12 led turned green. But there was no program installed for it. Normally I use the J12 USB socket to power it. I wanted to ask if I damaged the board, presumably because of the JE 3.3V pin, and if I could fix this damage. Or have I done damage? I wanted to ask if I have a chance to recover the card. I did all your last steps and it didn't work. I am sorry if I disturbed you. Thank you for at least trying to help.
  19. Hi @JColvin, While sending data with ADEPT, no leds are blinking. There is not the slightest movement on the card. When I send another bitstream there is no activity. Is the card burned? If yes, any chance of adept recognizing the card? though it burned. Because I followed all your steps.
  20. @JColvin Hi zygot, I connected the red cable and the leds went out (even though I sent any software to the board). But as you can see in the photos, you see the adept program response and the vivado (I think it cannot send the software to the card) response. Did you just want to give information about uart communication? Because I want the card to turn on the led, but the software does not work and does not light. I can't assign software to the board with Vivado. Only LD13 lights up when I power the board or turn off the power and turn on the bidet. I did not quite get it. I tried stm32 3v3 volt in this pin for led? I havent 5v uart connection. but I saw one LD12 led now glowed bright and green. İf I use program uart, this just bright led13 and low.
  21. Hi @JColvin, I upload photo about PL2303. I was going to use this cable(PL2303) about UART. First I didn't send to program to card, it work just default program in this board (default program that all leds work). And I connect this cable between board and computer. And all leds are off and one led is on. ld13 led is lightly lit, other leds are not lit. The LD12 led does not light up even at the slightest movement(if I send program in adept). Adept detects the card. Vivado half-detects. I cannot assign a code to the card with Vivado. gives an error. When I turn off the board. I can't see the default program in flash anymore. Only the LD13 led lights up slightly. Adept detects everything. Adept shows installed but vivado cannot connect. Did the PL2303 damage the board or not. I don't understand. I hope I have explained clearly. just wanted to test uart with pl2303. Thanks
  22. I have a Zybo Z7-10, but then I tried to connect JE pin areas with PL2303 while trying uart communication. FPGA was in default state. When there was no program in it, all automatic leds were on. When I made the PL2303 connection, all the leds went out at once. Only the LD13 pin is lightly lit. there was no code in the FPGA. I can't connect to FPGA. Did my card burn out because I only connected 2 pins? I havent problem about cable. And I looked another topics and Isaw adept software, I try to connect with card with Adept, And I connected. But I tried to program to bit files what I make bit stream in vivado, it isnt work. What can I do about this. I touched this card new.
×
×
  • Create New...