- 61
- 114 105
Some Assembly required
Switzerland
เข้าร่วมเมื่อ 12 ก.ย. 2017
A channel mostly about computers, a little about science, and occasionally about the science of politics.
Currently starting a series of videos about creating 80's era computers on an FPGA.
Currently starting a series of videos about creating 80's era computers on an FPGA.
FPGA concepts: Timing
How do you program an FPGA? What does the concepts even mean? How do FPGA programming languages differ from software programming languages? These are the questions we'll tackle in this series.
The fourth part deals with timing considerations. How do you know whether your design is fast enough to handle the load, and what does that even mean?
I want to thank all of my Patreaon supporters, and especially my BBC Micro level supporters:
Yehuda T. Deutsch
Support the project on Patreon: patreon.com/CompuSar
We also have a Discord server. You can join it by following the following link: discord.gg/nNv53PWgBj
Table of contents:
00:00 - Simple circuit
00:59 - Propagation delay
07:31 - Setup and Hold Time
10:32 - No timing analysis
16:37 - Defining a clock
19:34 - Slack, WNS and TNS
21:21 - Decreasing the slack
23:24 - Faster clock
26:07 - Using a violating design
27:29 - Why does it work?
The fourth part deals with timing considerations. How do you know whether your design is fast enough to handle the load, and what does that even mean?
I want to thank all of my Patreaon supporters, and especially my BBC Micro level supporters:
Yehuda T. Deutsch
Support the project on Patreon: patreon.com/CompuSar
We also have a Discord server. You can join it by following the following link: discord.gg/nNv53PWgBj
Table of contents:
00:00 - Simple circuit
00:59 - Propagation delay
07:31 - Setup and Hold Time
10:32 - No timing analysis
16:37 - Defining a clock
19:34 - Slack, WNS and TNS
21:21 - Decreasing the slack
23:24 - Faster clock
26:07 - Using a violating design
27:29 - Why does it work?
มุมมอง: 729
วีดีโอ
Rearchitecting the 6502
มุมมอง 14K6 หลายเดือนก่อน
03:The 6502 is a CISC 8 bit CPU. We'll be implementing it as a synchronous bus FPGA module. It was widely successful, including two implementations by this very project. And yet, I'm rebuilding it. In fact, I'm fitting a whole new architecture to it. Why? I'd like to thank my Patreon BBC Micro level supporter, Yehuda T. Deutsch. You, too, can support my work on Patreon: patreon.com/CompuSar Dis...
Davinci Resolve on Ubuntu 24.04 - Old way (see description)
มุมมอง 12K6 หลายเดือนก่อน
*UPDATE* A better way is available at th-cam.com/video/FHnNqtAwJ6M/w-d-xo.html Ubuntu 24.04 has changes to system libraries that cause Davinci Resolve to not work out of the box. But fear not, this video will not only show you how to fix it, it will even show you how to find the fix yourself, so that if future versions break differently you'll be able to fix them as well. In this video we're do...
FPGA Concepts: Flipflops
มุมมอง 6717 หลายเดือนก่อน
How do you program an FPGA? What does the concepts even mean? How do FPGA programming languages differ from software programming languages? These are the questions we'll tackle in this series. The third part deals with stateful logic design in HDL (hardware description languages). We go through what is a flip flop, how it's used. We demonstrate this using a frequency divider. I want to thank al...
Writing an interrupt handler: Making the UART asynchronous
มุมมอง 6278 หลายเดือนก่อน
Every operating system needs interrupts. But actually handling interrupts isn't trivial. You need to consider races, synchronization, masking and unmasking, preserving context and performing the actual tasks. In this video we'll be building, from scratch, the interrupt handling code for SarOs. We'll use that in order to implement outputing to the UART without blocking execution. Patreon BBC Mic...
FPGA Concepts Part 2: Combinational logic
มุมมอง 7449 หลายเดือนก่อน
How do you program an FPGA? What does the concepts even mean? How do FPGA programming languages differ from software programming languages? These are the questions we'll tackle in this series. The second part deals with combinational logic design in HDL (hardware description languages). We explore several ways to describe the 7 segment decoder, as well as define everything else we need to load ...
FPGA Concepts Part 1: Ye Olden Days
มุมมอง 3.2K10 หลายเดือนก่อน
How do you program an FPGA? What does the concepts even mean? How do FPGA programming languages differ from software programming languages? These are the questions we'll tackle in this series. The first part deals with logic design in the pre-HDL and FPGA world. How to build an efficient circuit. I want to thank all of my Patreaon supporters, and especially my BBC Micro level supporters: Yehuda...
Linux timer tracking and calculating complexity
มุมมอง 69511 หลายเดือนก่อน
When building an operating system, you need data structures for tracking stuff efficiently. This video deep dives into tracking timer events. It also talks about how to measure our algorithm's efficiency. We also discuss "Amortized complexity". Patreon BBC Micro level supporters: Yehuda T. Deutsch Fiberz project: github.com/shachar/fiberz Support the project on Patreon: patreon.com/CompuSar Dis...
Reaction: Of cycle counting and performance
มุมมอง 461ปีที่แล้ว
Reaction: Of cycle counting and performance
Nostalgia on a chip - CppCon 2023 Open content talk
มุมมอง 494ปีที่แล้ว
Nostalgia on a chip - CppCon 2023 Open content talk
Live coding invite: Implement a Commodore 1541 emulator
มุมมอง 548ปีที่แล้ว
Live coding invite: Implement a Commodore 1541 emulator
Free LinkedIn Learning C++ course - Limited Time Offer
มุมมอง 219ปีที่แล้ว
Free LinkedIn Learning C course - Limited Time Offer
Implementing a hardware clock and sleep timer
มุมมอง 420ปีที่แล้ว
Implementing a hardware clock and sleep timer
Architecture of our Apple 2/Commodore 64 FPGA clone
มุมมอง 9842 ปีที่แล้ว
Architecture of our Apple 2/Commodore 64 FPGA clone
FPGA Apple ][ clone: Adding keyboard input and sound
มุมมอง 7112 ปีที่แล้ว
FPGA Apple ][ clone: Adding keyboard input and sound
Introducing my Patreon page and pledge tiers
มุมมอง 1112 ปีที่แล้ว
Introducing my Patreon page and pledge tiers
I built an Apple II clone on FPGA from scratch
มุมมอง 8K2 ปีที่แล้ว
I built an Apple II clone on FPGA from scratch
for some reason, `sudo apt install liboss4-salsa-asound2` deleted the ubuntu-descktop + Chrome + Vscode + the Nvidia drivers. 💀💀Any ideas, please??
Thanks man, I appreciate it
Where PH2 and PH1???😅
It's been a while for me. What are you missing? In particular, since this is an implementation designed to be used exclusively inside the FPGA, there is no need for any clock phase shifting (and the design uses a single edge anyways). It's also worth noting that this design was completely replaced. See th-cam.com/video/and5Sfoy9t4/w-d-xo.html
Hi! Thanks for explanation. Does DaVinchi may work on laptop without discrete graphic card (only integrated Intel arc or something like that)?
So helpful, thank you so very much!
Used your advice on my newly updated Linux Mint 23.0. DVR started with the beach ball and after a few seconds... nothing. Absolutely perfect. Thumbs up. You're a genius🪔. I would NEVER have been able to solve this alone... Thank you so much. 👋💪🎥🎬
Good job. For an amateur in linux folders and libraries, this was followable and very well explained. It works :-)
6 months later and the problem hasn't being fixed yet. I lost 2 days installing back PopOs just to realize that its broken there too.
Great! this tutorial was very helpful
great video dude
Your video was just what I'd needed to get Resolve running on my Ubuntu Studio 24.04. I'd previously complete the first too step. But when I tried to download lbgdk-pixbuf-2-0.0, and it wasn't listed on Ubuntu's main site, I bailed on the process. But when I saw you run into the same problem, and then download a similar version from a 3rd party site, I decided to do that and it Resolve launched successfully after that. I'm usually more tenacious than that, but at the time I'd tried been following several different methods for hours and thought I was going down another rabbit hole. You demonstrated more tenacity and resourcefulness than I did and I thank you for that. My problem now is that, even after copying all the the missing libraries to /opt/resolve/libs, Resolve still won't start from the GUI icon. I can start it with 'gtk-launch com.blackmagicdesign.resolve.desktop', which is essentially running the icon from the CLI, but the GUI fails ever time. Any idea what I need to do to fix it?
BTW: I'm running KDE 5.27.11
Eu sou do Brasil e aqui eu não achei nada que podesse corrigir esse erro de instalação. Assisti o video th-cam.com/video/Y87MFmcy3lc/w-d-xo.html e deu certo. Agradeço pelo seu trabalho. Eu sozinho não ia conseguir instalar o Davinci. Muito obrigado de Coração. Aproveitei e me escrevi no canal ( Some Assembly required ) e ( Less Assembly Required ). Agora eu não vou precisar de voltar para o windows. Uso Linux Mint 22 "Wilma" e NVIDIA GeForce RTX 4050 Laptop GPU.
Thank you very much, i got exactly the same errors while i was trying to Install resolve before, Now I have got "the video" and "the solution". ❤
While I'm very glad I was able to help, did you notice I am referencing a newer video (on another channel) where I'm promoting a better way of doing it™?
what about 2602c i think for the atari's
Which Atari? The 2600 had a 6507, which is the same chip with less bus pins.
yeah i don't think i want davinci anymore
That's your right, of course. Just to make sure, however, did you notice there is a simpler (and also works better) method of doing this linked in the description (and the thumbnail)?
I really love these concept videos. With your SPI controller, was there a way to specify the timing of three external pins such that they are in phase with each other?
The whole reason I thought I might get away without timing requirements is that I was updating the output pins on the negative edge of the clock. That meant they had a whole half cycle to settle before the positive edge of the clock arrived, which _should_ have been enough. Except it wasn't. Coupled with stupid mistakes in making them update on the negative edge, and the result was a design that was not quite up to spec. You can actually see that in the video. I recreated the same codebase that wouldn't work and loaded it. The first time I loaded it, however, it actually managed to read the SPI. Only on reloading the same design did it fail.
This is STR mode, of course. For DTR mode you really should use the DDR buffers the FPGA has.
Thanks. I just switched from 22.04 to 24.04 and wondered why Resolve stopped working. Constructive manual. Assuming system libraries are backwards compatible, the other option would be to symlink the libraries to the newer versions (coming with 24.04) in the lib folder. Did you try it?
Your assumption is wrong. That's why the so numbering scheme was introduced in the first place, after all: because not all library updates are backward compatible. With that said, do check out the video linked from this one for a better AND easier way to install DR on 24.04 (have not upgraded to 24.10, but it should work the same).
totally saved my day!
I'm glad to hear. With that said, have you noticed the linked video in the description? There is a better way to do this.
Great video but i have this error at the end ActCCMessage Already in Table: Code= c005, Mode= 13, Level= 1, CmdKey= -1, Option= 0 ActCCMessage Already in Table: Code= c006, Mode= 13, Level= 1, CmdKey= -1, Option= 0 ActCCMessage Already in Table: Code= c007, Mode= 13, Level= 1, CmdKey= -1, Option= 0 ActCCMessage Already in Table: Code= 2282, Mode= 0, Level= 0, CmdKey= 8, Option= 0 QtLockedFile::lock(): file is not opened
Have you noticed the multiple places I said there is a better way to do this?
Thanks a lot. This is really awesome But ffs blackmagic, get your stuff together. It's been more than 3 months now. It's easier to fix this at BM's end.
"There is a place for all at the Rendezvous of Victory." - Aimé Césaire
i dont even know why davinci resolve wont work on ubuntu 24LTS with the kernel version 6.8. im having nvidia-driver-470 installed , the nvidia-driver-390 wont even install because of DMKS issue or gcc compiler version , im not sure .. when i open up davinci resolve it doesnt recognize my GPU even tho the gpu works fine with that driver with other application (the output of nvidia-smi : Failed to initialize NVML: Driver/library version mismatch) . i just want a solution to this problem , any thing? should i try to downgrade ubuntu version and revert back to use 22? or is there a way to FORCE davinci to recognize the gpu? please help (Nvidia K2100M)
Have you tried the solution proposed on my other channel? The one linked in the description AND in the card AND in the end screen AND in the thumbnail of the video? Because it is both easier and more reliable.
@@CompuSAR i tried it , and it got Davinci to work but it still cannot detect my GPU even though it works fine with other programs (Note : the output of the command vidia-smi : Failed to initialize NVML: Driver/library version mismatch) my GPU : Nvidia K2100m the driver version i m having is 470 . the driver version 390 doesnt build when installed with apt-get or the ubuntu software and updates interface . the gcc compiler version is v13. kernel version : 6.8. one thing that confuses me tho is davinci works and detects my gpu during the installation of the 390 nvidia driver. and it crashes after that. any solution? how to force it to detect the gpu? ps : the Nvidia X server settings CANNOT Generate the Xorg.conf file when i try to save the settings . if i change the files content manually , ubuntu crashes and doesnt boot to the login page after booting and gets stuck on ubuntu and Dell logo. i can provide more information . when i checked the internet i found out that it wasnt only me who is having this issue.. its either the gcc compiler or the kernel version that doesnt support the nvidia 390 driver anymore , i tried to update-alternative the gcc compiler to version 11 TO build the nvidia 390 driver but still faced with the same problem. it finishes installation with errors!
@@MoizRedYT I think you're on the nuevue driver (the open source one). DaVinci won't work with that. You have to get X working with the NVidia drivers outside the container first, and only then can you try and get DaVinci working inside it.
@@CompuSAR can you elaborate more on that please , iam really in need to work with davinci resolve , i dont wanna install windows just to use it.
@@MoizRedYT You need to get to the point where your system runs with the NVidia driver regardless of DaVinci Resolve. I'm not sure what you need to do in order to do that. Probably install the nvidia drivers properly. In any case, the fact that nvidia-smi doesn't report a correct installation is what you need to resolve (no pun intended) at this point.
I am excited too! :)
Thanks a lot. It worked. A note to nVidia users: DaVinci Resolve 19 requires nVidia drivers 550+ which are not officially available on Ubuntu yet. Installing drivers that are yet untested by Canonical is discouraged from what I read. I reinstalled DaVinci 18.6.6 and re-used this guide to work around the library issue. Works like a charm.
I'm on Ubuntu 24.04 with the 550 drivers installed through the Ubuntu "nvidia-driver" deb.
@@CompuSAR But this version is not officially recommended by Canonical yet, right? I can only find it in apt but not in the driver manager GUI.
@PhilippKessler79 I honestly have not checked.
Interested to see how this ends, love to see your 6502 writing something out to a screen😃
Keep watching. I actually got it to boot into Apple II basic.
God tier
DO NOT INSTALL THAT RENAMED LIB...I DID AND I CNT ENTER DEESKTOP ENV FROM MY TTY....
it removed nautilus and my gdm and most lf thi gs
also i lost my apps like google and lutris and so on...
no personal data lost but big demage was done.....
also all my system extensions are removed
it was liboss4-salsa-asound2!!!!!
very helpfull thank you :))
I'm glad it helped. Have you also looked at the newer video with the better way? th-cam.com/video/FHnNqtAwJ6M/w-d-xo.html
No, I haven't seen that yet buy have noticed that some of the files are already there in this version I will have a look ty :))
Thank you for a very easy resolution to installing Davinci on Ubuntu! Much appreciated!
You're welcome! Also, there is an even easier way now: th-cam.com/video/FHnNqtAwJ6M/w-d-xo.html
Perfect, Simple explanation to the point... Thank Man the best!💥💥💥💥💥
I have to admit that I'm surprised by the "simple" description. Still, if it worked for you, that's great. You're welcome. If you do run into problems, I've since developed an even simpler way that should also be more reliable. Please check out th-cam.com/video/FHnNqtAwJ6M/w-d-xo.html
wow thanks. I was bashing my head against wall trying to figure this out. Corrupted my whole system multiple times trying to use chatGPT to figure it out. Thank you!
next time don't use ChatGPT...?
If this doesn't solve your problem, I've developed a new way of doing this. It should be both simpler and more reliable. Please check out th-cam.com/video/FHnNqtAwJ6M/w-d-xo.html
I do everything as follows, but when I try to run the command at 7:20 , for some reason it still only shows the libpango file and not libpangotf. What could be the problem?
I don't know, but I've since created a better way, that should also avoid all of those library problems. Check out th-cam.com/video/FHnNqtAwJ6M/w-d-xo.html
Hello good morning, thank you for the explanation, but I am unable to download libgdk-pixbuf-2.0. When I unzip it, it is empty.
I have no idea how to solve that. With that said, I've since created a better way, that does not need any custom/mismatched libraries at all. Check out th-cam.com/video/FHnNqtAwJ6M/w-d-xo.html
THANK YOU SO MUCH!!!!!!
You're welcome!
Also, there is now a new way to do this, that is both easier (less manual steps) and more reliable. Please check out th-cam.com/video/FHnNqtAwJ6M/w-d-xo.html
Make a rhel/fedora container (or an Ubuntu 22.04) in distrobox, install the needed dependencies, and done. (This way harder than how I worded it)
Except people here tried that, and it didn't work. I can tell you I tried Docker, and that didn't work either. I did end up doing more-or-less that, but I had to build my own container tool for it to work.
So I now have the new video up, with how I did it. I suspect there was a way to get distrobox to work as well, but I ended up writing my own container solution. Please check out th-cam.com/video/FHnNqtAwJ6M/w-d-xo.html
That lots of work to install a program
Please trust me, a much easier, and also more reliable, way is just around the corner. I'll post another video on my, new, side channel when it's ready. youtube.com/@lessassemblyrequired
If still relevant, please check out th-cam.com/video/FHnNqtAwJ6M/w-d-xo.html
Thank you for the in-depth explanation alongside the solution, got everything running!
Glad it worked for you. If you do run into problems, please check out the new (easier and more reliable) way of doing this: th-cam.com/video/FHnNqtAwJ6M/w-d-xo.html
I'll just wait for a flatpak. Linux still hasn't learned anything from Windows
BMD aren't creating a flatpak solution, though. I am almost done creating something similar myself, though. Will update in the other channel.
If still relevant, please check out th-cam.com/video/FHnNqtAwJ6M/w-d-xo.html
create a bash script that you run for the future :)
Oh, had that been all that was required....
Hey, thanks for the tutorial. After giving the path to mentioned packages i had this "18.6.6.0007 Linux/Clang x86_64 Main thread starts: 3F393000 Segmentation fault (core dumped)". Running New linux mint 22 Wilma with nvidia driver 550. Aplication still not working not sure where is the problem. Any idea how to solve that problem?
Yes. I'm working on it (actually, I got it working, now I'm working on packaging it). Stay tuned on my other channel: youtube.com/@lessassemblyrequired. I'll post the instructions there when they're ready.
Video is ready. Please check out th-cam.com/video/FHnNqtAwJ6M/w-d-xo.html
Thanks!
Thank you so much man it just wouldn't work i tried all troubleshooting methods but following your video fixed it!
Glad I could help
Brilliant. Takes a lot of effort to put a video like this together. These steps worked with Linux Mint 22 (obviously). I'll move over to your new site and check when you post "the better way". Thanks for all the work.
Perfect for my new install of Linux Mint 22!! Great walk through.
OUTSTANDING! Great video and great explanations. it works!
I get the error message "/opt/resolve/bin/resolve: error while loading shared libraries: libjpeg.so.8: cannot open shared object file: No such file or directory" Or does this happen cause I use Debian?
I have not tested Debian. Either install it on your OS, or follow the same procedure and install inside the libs directory. Either way, I'm getting close to releasing a better solution (also more reliable). I'll probably release it on the new channel: youtube.com/@lessassemblyrequired.
Please check out th-cam.com/video/FHnNqtAwJ6M/w-d-xo.html
I am using Ubuntu 22.04.4 LTS and when I tried to execute the command "sudo LD_LIBRARY_PATH=/tmp/dr/files/usr/lib/x86_64-linux-gnu/ bin/resolve" it gave me and error "Illegal instruction (core dumped)" What could be the reason for this? Thanks
I don't know if this is still relevant, but I've created a simpler and more reliable way to do this. Check out th-cam.com/video/FHnNqtAwJ6M/w-d-xo.html
Excellent video and I find it useful.
Glad it was helpful!
thanks so much for your video on fixing library dependencies in Davinci Resolve! I've been using Linux Mint 22 as my editing platform, and it was just what I needed to get things working smoothly. Really appreciate it
i tried to install free version (not studio) and chose to download lib with new names and my gnome desktop broke. had to recover it by uninstalling those lib in recovery mode root shell and installing gnome desktop again .
Did you install those libraries globally? That is not what I recommended doing in the video. Installing them in the /opt/resolve/libs directory should not break your desktop.
@@CompuSAR yup i did that mistake but it happend . i went through your video again and saw using skip which i missed . :(
There is now a better way to perform this. One where making this mistake is not possible. Please check out th-cam.com/video/FHnNqtAwJ6M/w-d-xo.html