Previous | Next --- Slide 38 of 46
Back to Lecture Thumbnails
anamdev

If you are making your own processor for a very specific use, (I'm referring to Google's TPU for machine learning tasks). What kinds of changes are made in comparison to more generalized CPUs? Are tasks that might normally be done in software are made into hardware components (like the H.264 decoder on iPhones)?

ferozenaina

If you're programming an FPGA or developing an ASIC, you can convert a lot of the software tasks to run directly on hardware, thereby improving efficiency. The logic is written in VHDL or Verilog (low-level) languages for FPGA.

Examples that come to mind are AES encryption/decryption cores, large number of signal processing and image processing filters and even ASIC Bitcoin mining hardware!

wxt

What ongoing efforts or research are being made to make FPGA programming easier? I can imagine an "FPGA compiler" that translates higher-level code into a form that can be read by an FPGA, but what kinds of challenges would be associated with such a project?