GalD101
Members-
Posts
107 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Gallery
Everything posted by GalD101
-
How to use and manage memory with my FPGA?
GalD101 replied to GalD101's topic in New Users Introduction
does it matter which pin? -
How to use and manage memory with my FPGA?
GalD101 replied to GalD101's topic in New Users Introduction
OK I think it's ready. I will prefer to instantiate the MMCM by myself or at least understand what is the generated code but I'd rather not waste time. how can I connect it to the Hameg? what pin should I use?clk_wiz_0_clk_wiz.v -
How to use and manage memory with my FPGA?
GalD101 replied to GalD101's topic in New Users Introduction
-
How to use and manage memory with my FPGA?
GalD101 replied to GalD101's topic in New Users Introduction
I talked to them and they will take care of connecting it to a breadboard. That reminds me something that doesn't really have anything to do with what we discuss here but I can't resist sending it, there it is -
How to use and manage memory with my FPGA?
GalD101 replied to GalD101's topic in New Users Introduction
2 volts, 1 hz frequency. I knew it works since I assigned the led to this pio pin and it really did blink in that frequency. -
How to use and manage memory with my FPGA?
GalD101 replied to GalD101's topic in New Users Introduction
correct. I thought that for now I will use the function generator without worrying about impedance and blowing up the FPGA (as my professor told me to, since he wants me to mainly focus on programming the FPGA) so I thought that for now I will just try to learn how to program the FPGA and understand how to control it's clock and how to write to memory. I apologize for my misunderstanding. -
How to use and manage memory with my FPGA?
GalD101 replied to GalD101's topic in New Users Introduction
I connected the function generator to pio26, set_property -dict { PACKAGE_PIN L14 IOSTANDARD LVCMOS33 } [get_ports { pio26 }]; #IO_L7N_T1_D10_14 Sch=pio[26] -
How to use and manage memory with my FPGA?
GalD101 replied to GalD101's topic in New Users Introduction
This is the spd we have. I will get info about the function generator as well as the oscilloscope later. https://www.lasercomponents.com/de/?embedded=1&file=fileadmin/user_upload/home/Datasheets/lc-photon-counter/count-nir.pdf&no_cache=1 This is the oscilloscope: https://www.tequipment.net/Hameg/HM400/Analog-Oscilloscopes/ This is the function generator: https://www.thinksrs.com/products/DS345.htm -
How to use and manage memory with my FPGA?
GalD101 replied to GalD101's topic in New Users Introduction
-
How to use and manage memory with my FPGA?
GalD101 replied to GalD101's topic in New Users Introduction
Hi @reddish As of now, I'm only limited to using just the function generator. I was able to connect it and make the led blink according to it. How can I achieve this? Do you want me to connect the function generator to an oscilloscope? I will try to ask my professor for that since I'm not sure what to do (do I need to connect the spd to an oscilloscope? For now I'm only limited to using the function generator) As I said for now I'm limited to using just the function generator instead The function generator is connected to one of the pins in the fpga and it works I think I will need some help with that. Are there any good sources for this? Yes, I am committed I just take a data structures course at the same time but no worries, I have until 17.10 to work on this -
How to use and manage memory with my FPGA?
GalD101 replied to GalD101's topic in New Users Introduction
can you help me with this part? where should I start? I will google some information about it -
How to use and manage memory with my FPGA?
GalD101 replied to GalD101's topic in New Users Introduction
Oh, I also happen to have a PmodDA4 that communicates via the SPI protocol. Is it something I can use? -
How to use and manage memory with my FPGA?
GalD101 replied to GalD101's topic in New Users Introduction
Hey @reddish so in order to accomplish step 1, I need to connect the function generator to the FPGA (and making sure I never give it more than 3 volts), and then to check if it works? What should I do now? -
How to use and manage memory with my FPGA?
GalD101 replied to GalD101's topic in New Users Introduction
Isn't this is what's called a "Race Condition"? Here, since the two flipflops receive asynchronous input (the input is foreign to their clock), a race condition occurs and in the small time difference that is in between the input signal for each ff, the values of flipflop_1 and flipflop_2 are seemingly the same sometimes but in reality, it's just because they sort of like have 2 different inputs that have a "clock" that isn't exactly the same all the time by the way, what software/program are you using to draw those images? I saw it before but never bothered to look for it. -
How to use and manage memory with my FPGA?
GalD101 replied to GalD101's topic in New Users Introduction
for the time being, I can use a function generator instead of a photon detector -
How to use and manage memory with my FPGA?
GalD101 replied to GalD101's topic in New Users Introduction
according to the details of my SPD here, it says: "TTL output pulse amplitude (into 50 Ohm) is typically 3 Volts". Does it mean I need to make sure the corresponding input on my FPGA is "ok" with 3 volts? -
How to use and manage memory with my FPGA?
GalD101 replied to GalD101's topic in New Users Introduction
How can I check this? I have this schematic file and I'm not sure how to read it. Also, how can I figure out the impedance of the cable coming out of the SPD? -
How to use and manage memory with my FPGA?
GalD101 replied to GalD101's topic in New Users Introduction
ok, so I think that by registering you mean saving as a register (that opposite to a 'wire', it remembers - acts like a memory block) and it is important in order for the timing to be accurate, since the asynchronous signals are not connected to the clock and therefore, if I won't save it in a register (if I won't register the signals), it wouldn't be accurate enough. I'm not sure if that's true, but I think you should also register your output for good practice but it is not as important. -
How to use and manage memory with my FPGA?
GalD101 replied to GalD101's topic in New Users Introduction
I’m not sure if I really understood what a constrains file is yet, but I think it’s like some sort of a dictionary, I looked here and here and I just used it as a mapping tool between the names of the “variables” in my code to the physical hardware that is on the FPGA. other than that, I’m not sure what else can it be used for. I did see the “create_clock” keyword and I think what you are asking is in reference to this but so far, I just used this file as a dictionary. Is it something that I’m supposed to change or is it supposed to stay like this for the specific device I’m using? -
How to use and manage memory with my FPGA?
GalD101 replied to GalD101's topic in New Users Introduction
I’m not sure if I understood you correctly, but if you talk about the assign statement, I think it just makes sure that whenever the value on the right hand side is changing, it changes the state of the value on the left hand side. For example, if I write something like: assign led_b = ~led_g then whenever the value of led_g is 0 then led_b will be 1 and when led_g is 1, then led_b will be 0 -
How to use and manage memory with my FPGA?
GalD101 replied to GalD101's topic in New Users Introduction
What’s the difference between a and c? From what I understand, in essence, a combinational circuit is a circuit that only depends on its input while a sequential circuit depends on the input as well as its previous output. So you can think of the previous output as some sort of an input as well -
How to use and manage memory with my FPGA?
GalD101 replied to GalD101's topic in New Users Introduction
For now, we will do the first one with no variations. Later on, we plan to do the rest. I actually already did exactly this (blinking LED) as well as making the buttons turn the LED on (which is just one line 'assign led = ~btn) It will be enough. p.s. Thanks everyone for the help! I really appreciate it -
How to use and manage memory with my FPGA?
GalD101 replied to GalD101's topic in New Users Introduction
there is a more detailed explanation here. or in the PDF 2005 Interference with correlated photons.pdf -
How to use and manage memory with my FPGA?
GalD101 replied to GalD101's topic in New Users Introduction
@reddish Hi, this is really a simplified sketch of the experience and it's not 100% accurate but it should be enough for my part we start with two photons that go through a change in their energy level (by going through some sort of medium - a crystal) and then they both reach a corresponding detector. Also, excuse my awful handwriting. this is the transcript of what's written: We want to know when we have a "coincidence", that is, when both detectors are on, within a certain time interval. Why do we want to check if there are coincidences? because if there is a coincidence, it means the 2 photons were created together as a pair. Issues that may arise: How would we choose the time interval? (We can choose a sufficiently large time interval such that every detection would count as a coincidence) Following the previous issue, it seems that we may have false positives (coincidence detected but in reality, there was no coincidence) as well as false negatives (coincidence was not detected but in reality, there was a coincidence - "missing a coincidence") HDLs are not programming languages (harder) It's not just an AND gate Clock management and things lick clock domain crossing CCU sketch.pdf -
How to use and manage memory with my FPGA?
GalD101 replied to GalD101's topic in New Users Introduction
Hi @reddish, first of all, thank you for the help. I didn't answer all of your questions since I didn't really understand them. I'm a first-year physics and CS student so I don't have a deep understanding of SPD or FPGA yet. I did talk with my professor and that's what we concluded: I think that we need to measure the maximum event rate according to this link (this is the SPD we have) we have a CW laser so I think the events would be reasonably smooth I would like to use 2 and if that would work, I'll try to use 3 I'm not sure I think it should approximately be the recovery time of the sensor between each detection. according to what you said, it would probably be a better idea to make a streaming solution since it would be easier. you are correct, I'm doing this as a small project mostly to get some experience doing experiments (I'm in my first year, bachelor's degree). not really but after reading a bit about it, it seems to be the issues that arise when data from one flop transfers data to another with a different clock in general, since you seem to be familiar with coincidence counting, do you have any tips on what should I do? I tried reading a lot online and I built very basic projects in Verilog. After reading a bit, I don't think I'll be able to finish this in less than a month but I am very interested in learning more about FPGA and how to program it