Simulating PCIe Hard IP for Ultrascale + Architecture

Simulating PCIe Hard IP for Ultrascale + Architecture

I have decided to create a small and simple demo in order to show how to simulate PCIe for Xilinx devices as the PCIe is slowly becoming a standardized interface for FPGA in most applications from consumer electronics through Automotive up to Aerospace industry. As...

Aurora 8/10B Transceiver GTY Serdes

Aurora 8/10B Transceiver GTY Serdes

The times when designers used to calculate and adjust manually delay across PCBs to match a device's requirements (Such as a memory or ADC/DAC interface) for a few megatransfers / second are definitely over nowadays. Even though they are still used on some prehistoric...

Linux kernel driver development for Zynq/ZynqMP

Linux kernel driver development for Zynq/ZynqMP

I remember that when I first searched for a guide on how to write Linux kernel drivers, the first suggestion mentioned was that I should actually avoid writing kernel drivers. I would personally not suggest the same, though the fact remains that writing kernel drivers...

Vmware ESXI Hypervisor on CI323

Vmware ESXI Hypervisor on CI323

It is approximately 3 years since I have tried to install the VmWare ESXI 6.0 and 6.5 on my small home server consisting of Zotac CI323 nano. The problem I was facing at that time was that the installation was unable to start and was stuck at "Kernel Loading Modules"...

FPGA LVDS Interfacing

FPGA LVDS Interfacing

Most of newer ADCs and DACs tend to use the JESD204b/c standards simply due to higher performance requirements - the ever growing need for more usable Bandwidth, faster ADCs and DACs with increased resolution per sample and multi-channel implementations. The JESD...

IP Simulation with custom data

IP Simulation with custom data

Using the Build-in Vivado Simulator or QuestaSim or any other simulator is great for analyzing the RTL and verification of FSMs, signals flow, control and interfacing through I2C, SPI, AXI ... Whats a little bit more tricky is the verification of DSP blocks, Filters,...

​Hello and welcome to my personal wooden log. I started writing posts approximately in 2011 and there was not much reason behind it, but as the time passed, I realized, that in order to make sure you remember something, the best way is to actually take notes of how it was done. And why not make it public when it may even help the others solving the same problem? And so, I have reoriented the blog to be mostly (But not always) about various technical topics.Thanks to people like you, I have already received responses from people around the globe, which I always love to hear as it means, that the work was useful to someone else. I try to make the topics readable, which in other words means, that I do rarely go deep into the specific technical details, but rather try to outline the problem and the idea behind solving it.

Please, there will be bugs and typos definitely across this site, but if you do so see some, let me know, so that I can fix them for me and for the otters. I always love to learn a little bit more about the topics I have written anyway. I do write mostly in my free time during the weekends and or long afternoons rather than playing computer games. Yes, I do not have a girlfriend, so that I have stil some free time before going to bed … but I guess that at least otters may find my time valuable and I am working on a solution to this problem as well O:) …

Nevertheless, if you are curious about the name of this domain, its just that I do live near a large forest area of old Beeches and I love to go cycling (Actually not only cycling) there, especially when its raining to be honest. I couldn’t find a viable DNS name a long time, but then I finally realized, that I love this forest so much, that I have decided to name it the DNS name of my blog. And after 10 years of having this domain, I am still happy with its name. I guess the same care needs to be taken always when you are trying to name something of a special importance to you. Like the name of your dog, daughter or son, although I do not have personally any experience with the last mentioned yet  :)

I never know how to describe myself, as I believe its not really that important. But just in case somebody is curious. I have studied at the Czech Technical University in Prague, where I started to learn nVidia CUDA programming. I became friends with digital signal processing, GNSS signal processing, matlab, maple ,C/C++, numeric methods, linear algebra, and Image processing. After making my Masters’s degree, I almost immediately started to work as an FPGA designer. That is a long story, of which nobody is really interested, but since then, I have reoriented myself to FPGA rather than CUDA, I have since then written plenty of interfaces, IPs and low-level drivers, but the truth is that, the more you know, the more you realize that the are more things, that you actually do not know. My current status is just that I am still learning as much as I can, but I believe that modern systems are becoming so complex, that you just no longer can’t understand the details of how they really work. A very recent example is the PCI-E AXI Bridge from Xilinx, I am just about to understand how it shall be configured, what is it supposed to do and so on, but the “HOW it does it” will likely remain hidden as there is just too much work and time behind this knowledge. 

With all this said, I do also manage his site, my gitlab, mailserver and webserver, which also sometimes eats plenty of time, but I do this to learn new things and don’t actually mind the extra time it takes. I value when people do things precisely, although being an engineer I do know, that compromises have to always be made. So far, I have found that working with kind and honest people in a friendly environment is much more valuable than having a huge salary, but being unhappy and stressed all the time. If you got an interesting project, that you would like to discuss or cooperate on, I am open to new experiences, so feel free to contact me at  [email protected]. I learned to say no, when I know that something is not optimal or I am not capable of doing it. PS I don’t bite :)

Thank you for your visit 

Ing. Vojtech Ters

Czech Technical University Graduate