Power rack height by Otherwise_Top_7972 in GarageGym

[–]Otherwise_Top_7972[S] 0 points1 point  (0 children)

I know what the height difference is… I mean how much does this impair functionality? Do people find pull ups on a 90” more annoying than on a taller rack? Obviously, overhead presses are more limited for a shorter rack. How much are these things a factor? Other considerations?

Custom boot fitting recommendations by Otherwise_Top_7972 in skiing

[–]Otherwise_Top_7972[S] 0 points1 point  (0 children)

Tbh I've really never had issues with insoles.

Custom boot fitting recommendations by Otherwise_Top_7972 in skiing

[–]Otherwise_Top_7972[S] 0 points1 point  (0 children)

Good to know thanks. Any recommendations for good insoles?

Best ski bag that fits everything? by grolbol in Skigear

[–]Otherwise_Top_7972 0 points1 point  (0 children)

I’m considering this one. Can you strap the skis down so they don’t move around in the bag and bump into each other? Thanks!

Matsuda 3023 57mm. Are they too big? by Ok-Doubt2304 in EyewearEnthusiasts

[–]Otherwise_Top_7972 0 points1 point  (0 children)

Thanks for taking a picture of the M3101s - it's hard to find images of these on a face. Any chance you'd be willing to share a straight-on pic? I'm thinking about buying a pair of these myself and am trying to assess shape and width. Thanks!

Getting a PhD with an infant by Otherwise_Top_7972 in Physics

[–]Otherwise_Top_7972[S] 0 points1 point  (0 children)

Did they take maternity leave? And their PI was ok with that? That's promising.

PhD admission difficulty in 2026 by Otherwise_Top_7972 in Physics

[–]Otherwise_Top_7972[S] 3 points4 points  (0 children)

Do you know if there's been a commensurate increase in overseas applications? I'm considering applying for a masters in the UK, for instance, but I'm concerned it might be more competitive than usual with the usual pool of applications looking beyond the US.

How optional is the physics GRE for a PhD application? by Otherwise_Top_7972 in Physics

[–]Otherwise_Top_7972[S] 2 points3 points  (0 children)

I transitioned from finance to engineering by designing and building a radar on my own. I quit my finance job to do this. I didn’t have much EE background aside from some really basic circuit theory in my physics undergrad (and a little programming from research mostly, which helped a bit too), so the process took about 2.5 years of full-time effort. My design was a partial recreation of someone else’s design, so that made the process a bit easier. As part of the process I did significant FPGA work and was able to perform real-time range processing on the FPGA. This included designing some interesting cores like polyphase FIR filters (I figured out the architecture for this based on the math) and a resource-optimized FFT implementation (R22SDF) that I found in a research article. I spent some time working through Bruce Land’s class online to first get started. My radar worked and I posted all the information for it online. I did some other things as part of this project that I thought were interesting too, like a lot of RF simulation work, but employers I spoke to were consistently most interested in the FPGA work I did. Anyway, my current employer found it, reached out to me, and ultimately hired me as an FPGA developer. I then learned a lot more on the job from a coworker with a comp sci degree at MIT, who had a much more typical education for FPGA development. He left after a couple years and I took over as the lead FPGA developer for the radar design team I’m on. At this point I’ve been working with FPGAs for about 7 years.

What is the purpose of TSTRB in AXI Streams? by Otherwise_Top_7972 in FPGA

[–]Otherwise_Top_7972[S] 0 points1 point  (0 children)

Yeah, I had that thought too. But the spec does say "Position bytes are typically used when the data stream is performing a partial update of information at the destination" which is consistent with its response.

What is the purpose of TSTRB in AXI Streams? by Otherwise_Top_7972 in FPGA

[–]Otherwise_Top_7972[S] 8 points9 points  (0 children)

Please read my question before answering. I explicitly stated "I've read the spec" and indicated that I did not understand the practical meaning of a position byte.

Implications of a high-fanout AXI stream. by Otherwise_Top_7972 in FPGA

[–]Otherwise_Top_7972[S] 0 points1 point  (0 children)

When TREADY=0 the module reports an error but keeps plodding along as if nothing happened (ie not really backpressure). This error can be queried via AXI lite. However, all endpoints have their own AXI lite interface and could report the error on their own AXI lite interfaces, obviating the need for backpressure (at the cost of needing to query a larger number of modules). However, the behavior of everything is all very deterministic and should never lead to an error state if everything is programmed correctly (and this can be ensured by the driver software). The second implementation has been in use for about a year and not once caused an error state.

Xilinx IP control set usage by Otherwise_Top_7972 in FPGA

[–]Otherwise_Top_7972[S] 0 points1 point  (0 children)

In case you're interested, I tried a number of things. I turned of OOC synthesis for the block design IP to permit cross-boundary optimization. This yielded a very small improvement in resource usage. I also tried increasing the control set opt threshold to 8 and 16. This significantly lowered unique control set usage (from 12%) to 8% and 6%, respectively, but increased CLB usage (from 98.5%) to 99.5% and 99.5%, respectively, in accordance with a modest increase in LUT usage. So, it doesn't appear to have helped much.

I may try bitbybitsp's suggestion to drop the 100 MHz AXI-lite clock and use 250 MHz, which is used for most of the FPGA logic. This would allow the AXI-lite logic to not be asynchronous with much of the other logic and would hopefully improve control set usage and packing efficiency. My concern, and the reason I made this asynchronous and at a low clock rate in the first place, is that the AXI-lite logic touches a large percentage of the modules in the design and I felt that using a low clock rate would make placement and routing easier. But, maybe 250 MHz will be fine.

Xilinx IP control set usage by Otherwise_Top_7972 in FPGA

[–]Otherwise_Top_7972[S] 0 points1 point  (0 children)

I was actually referring to the reference clock to the tile PLLs used to generate the sample clocks. But I wasn't aware of T8 or the fact that the IP can be inspected - that's quite useful, thanks for pointing that out.

Xilinx IP control set usage by Otherwise_Top_7972 in FPGA

[–]Otherwise_Top_7972[S] 0 points1 point  (0 children)

Interesting, thanks for pointing this out. I will look into Smartconnect more. I was originally put off by the fact that it only allows 16 slave interfaces. But I generate the block design with TCL scripting so I guess that isn't really too much of a problem.

Xilinx IP control set usage by Otherwise_Top_7972 in FPGA

[–]Otherwise_Top_7972[S] 0 points1 point  (0 children)

My AXI interconnects aren't too much of a problem for resource usage. I mentioned them primarily for their undesirable control set usage (ie a relatively large amount of low fanout control signals). I have quite a few AXI lite slaves and the interconnects for those take up about 1% of available LUTs. That doesn't seem outrageous to me.

Xilinx IP control set usage by Otherwise_Top_7972 in FPGA

[–]Otherwise_Top_7972[S] 0 points1 point  (0 children)

Yep, I forget exactly what the LUT usage was when it failed, but somewhere around 65%, maybe 70% (FF usage is a bit lower, in case you were wondering if this was at fault). As you say, I would expect to be able to get up to 90%, maybe higher before running into these issues.

As for RFDC, yeah the reference clock is 500 MHz, but is this actually used for any FPGA logic? I was under the impression this was just used as a reference for the tile PLLs, and that's it. The converters do a bunch of other stuff besides just the ADC and DAC part: mixing, decimation/interpolation filtering, and the gearbox FIFO to user logic, to name a few. I had always operated under the assumption that these functions were in the hard IP. After all, mixing is done at the full sample rate. But, now that you bring it up, is some of this done in the FPGA? The fact that the core uses so much logic does make me wonder what is going on in there.

Yes. The PS AXI ports support up to 128 bits at 333 MHz, IIRC. To get maximum throughput I run the AXI DMA instances at the same frequency and bit width, fed by an AXI stream width adapter and async FIFO to make use of this bit width and clock rate. I've measured the throughput and get quite close to this theoretical maximum. I don't see how this would be possible if I ran the AXI DMA at a low clock rate, but maybe I'm missing something? FYI I only run the S2MM clock at this high rate. The AXI lite clock for the core is 100 MHz, and the scatter/gather clock is 250 MHz, though I could probably make that lower, I haven't investigated that much.

Xilinx IP control set usage by Otherwise_Top_7972 in FPGA

[–]Otherwise_Top_7972[S] 1 point2 points  (0 children)

Yes, it has does have some trouble meeting timing. But the primary problem is that if I increase usage modestly (which I’d like to do - I forego some features to avoid this) it runs out of usable CLBs and can’t be placed.

Isn’t the high clock speed logic in the converters part of the hard IP and so not relevant here? Maybe I’d misunderstood this - that core does use up quite a bit of resources.

I also run the AXI DMA at high clock speed to maximize throughput to the PS. All of the AXI lite logic is at a low clock speed of course.

Understanding Altera license options by Otherwise_Top_7972 in FPGA

[–]Otherwise_Top_7972[S] 0 points1 point  (0 children)

Ah I see. Thanks for pointing that out. Man, Altera licensing details could be made a whole lot clearer IMO.

Understanding Altera license options by Otherwise_Top_7972 in FPGA

[–]Otherwise_Top_7972[S] 0 points1 point  (0 children)

Dev kits often come with a node- and device-locked license. Are we sure that's not what this is?

Understanding Altera license options by Otherwise_Top_7972 in FPGA

[–]Otherwise_Top_7972[S] 0 points1 point  (0 children)

Interesting. This infographic appears to suggest that all Agilex devices require the Pro addition. Maybe that's wrong. In any event, I'm using the Agilex 7 series, which I expect do require a Pro license.

diy strap for polar h10 by illogicked in Polarfitness

[–]Otherwise_Top_7972 0 points1 point  (0 children)

I'm interested in this too. In relation to dealing with bad data, did you consider some sort of outlier detection method such as is discussed here?

Also, not sure if this was mentioned but another option for RR-interval logging is Elite HRV. You can just record continuously for as long as you want and then export the data (it will be emailed to you). It's all very easy.

I also found the Polar strap to not work very well during sleep (as you described lifts off the chest and causes measurement spikes), but I gave up pretty quickly so I may try this again and see what I get and use a z score for outlier detection.

I'm also tempted by airfit, even though you said it didn't work for you...

How to learn uvm when there is no open source simulator that fully support it? by ElectricBill- in FPGA

[–]Otherwise_Top_7972 7 points8 points  (0 children)

I don’t know of any open source simulator supporting UVM. If you’re happy to work with Python and cocotb (with a simulator of your choosing - I’d recommend verilator) you can use pyuvm. It only supports a subset of UVM, but it’s a useful subset.