Author Topic: Most interesting projects involving FPGAs  (Read 1508 times)

0 Members and 1 Guest are viewing this topic.

Offline matrixofdynamismTopic starter

  • Regular Contributor
  • *
  • Posts: 200
Most interesting projects involving FPGAs
« on: April 18, 2023, 10:57:30 pm »
In my life I have used FPGAs to implement:

- JPEG Encoder that was mostly in hardware and used some part implemented in softcore
- Proprietery communication stack that relies on infrared
- Stepper motor controller as per specific requirements for that niche application

There are other smaller projects that were used for learning purpose. But these were really big and complex projects. What are the most interesting FPGA projects that you have carried out in your life?
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: Most interesting projects involving FPGAs
« Reply #1 on: April 19, 2023, 02:31:23 am »
My main interest in FPGAs is replicating vintage hardware, mostly arcade games and some early computers and related stuff.
 

Online NiHaoMike

  • Super Contributor
  • ***
  • Posts: 9321
  • Country: us
  • "Don't turn it on - Take it apart!"
    • Facebook Page
Re: Most interesting projects involving FPGAs
« Reply #2 on: April 19, 2023, 03:33:55 am »
Currently working on a zero export solar inverter with PLC connected current sensors. Although a STM32 would easily handle it with wired current sensors, with the addition of PLC, it wouldn't be easy to use a common microcontroller and still keep the total latency low enough for zero export to work as intended.
Cryptocurrency has taught me to love math and at the same time be baffled by it.

Cryptocurrency lesson 0: Altcoins and Bitcoin are not the same thing.
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9964
  • Country: us
Re: Most interesting projects involving FPGAs
« Reply #3 on: April 20, 2023, 04:25:12 pm »
In 1970, I was given unlimited access to an IBM 1130 computer and I used a LOT of hours.  FORTRAN was the most accessible language and I just ate it up.  Having unlimited computer access wasn't all that common back in '70.

So, I built one on a Spartan 3 board, complete with disk drive (Compact Flash), serial ports for the Card Reader, Printer, Keyboard and Typewriter - Hyperterminal works well for this application.  The final piece was emulating the Calcomp 1627 Drum Plotter and sending the plot commands through an mbed LPC1768 ARM chip to translate to TCP and draw the plots on my LaserJet.

It is a complete system and runs all of the IBM software unchanged.

It was a learning project but could probably be replicated in a week or two of diligent work.

ETA:  I added the source code for the plot.  This is the way it was done back in '70.  MATLAB hadn't been invented.  The Basic Linear Algebra System (BLAS) wasn't invented until '79.  We used to do matrix stuff by ourselves.  Just a bunch of DO loops...

As to plotting, there were 100 steps per inch and to move an inch took 100 commands. 
There were bits in the command word for +X, -X, +Y, -Y, Pen Up, Pen Down.  Each command was only 6 bits but there were a lot of them.  The LPC1768 takes these commands and builds LaserJet command sentences by accumulating steps and things like that.  If the pen is up, there is no motion, just accumulate and wait for the Pen Down command.  That kind of thing...  Plus the Berkeley Sockets thing...
« Last Edit: April 20, 2023, 08:01:07 pm by rstofer »
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9964
  • Country: us
Re: Most interesting projects involving FPGAs
« Reply #4 on: April 20, 2023, 07:59:22 pm »
The LC3 CPU from "Introduction to Computing Systems: From Bits and Gates to C and Beyond" by Patt & PAtel
https://en.wikipedia.org/wiki/Little_Computer_3

Essentially, everything is given:
https://people.cs.georgetown.edu/~squier/Teaching/HardwareFundamentals/LC3-trunk/docs/LC3-uArch-PPappendC.pdf
https://www.cs.colostate.edu/~cs270/.Spring21/resources/PattPatelAppA.pdf

There is an assembler for the original version (as above) but I'm not sure about the byte addressable variant, the LC3b
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9964
  • Country: us
Re: Most interesting projects involving FPGAs
« Reply #5 on: April 20, 2023, 08:39:54 pm »
Over at OpenCores.org, there is a Z80 workalike core named T80.  Combined with the appropriate PROMS, I built the PacMan game and it works exactly like the original because it uses the same PROMs.

https://github.com/eshopper99/pacman

There are other arcade projects on the Internet and most use the T80 core.  I used the same core to create a 50 MHz CP/M computer.  It sure is fast when compared to the original 2 MHz 8080 used in the Altair 8800 computer.  I also have an eZ80 version that runs at 50 MHz.  Smoking fast!  It helkps that the Compact Flash disk drive is a LOT faster (and larger) than an 8" floppy.

 
The following users thanked this post: RJSV

Offline DiTBho

  • Super Contributor
  • ***
  • Posts: 4367
  • Country: gb
Re: Most interesting projects involving FPGAs
« Reply #6 on: April 20, 2023, 08:43:23 pm »
at the moment, a super-simplified tr-mem for a weird machine
Code: [Select]
.           tr-mem
.           64Kbyte
.     ______ FPGA _____
.    |                 |
. ISA 8bit          ISA 8bit
.    |                 |
.  PCI32             PCI32
.    |                 |
.  ppc40x            ppc40x
.GNU/Linux         GNU/Linux

what?!? and only 64Kbyte?!?  :o :o :o

(well, the chip that does PCI<-->ISA8 cannot open a window size bigger than 64Kbyte
plus I am using all the internal FPGA BRAM ... )
The opposite of courage is not cowardice, it is conformity. Even a dead fish can go with the flow
 

Offline Sal Ammoniac

  • Super Contributor
  • ***
  • Posts: 1764
  • Country: us
Re: Most interesting projects involving FPGAs
« Reply #7 on: April 20, 2023, 10:49:02 pm »
I'm currently working on a project to implement the Apollo guidance computer in an FPGA that will run the original software developed by MIT.
"That's not even wrong" -- Wolfgang Pauli
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9964
  • Country: us
Re: Most interesting projects involving FPGAs
« Reply #8 on: April 21, 2023, 04:18:56 pm »
I'm currently working on a project to implement the Apollo guidance computer in an FPGA that will run the original software developed by MIT.

Outstanding!  I have thought about doing the same project but the external bits (sensors and actuators) seem overwhelming.  I suppose one could build a simulator for all the signals and have them active at an appropriate time relative to t=0 and the actuators could just be indicators.  Design decision: keep the logic at the individual NOR gate level or build larger level components.  Given the schematics, it might be interesting to recreate the AGC at the NOR level.  Maybe step up to the actual IC they used: two 3-input NOR gates per instance.

I see there are some Raspberry PI emulations around.

For those following along at home, there is a LOT of information and complete projects on the Internet.  Who wouldn't want to recreate the flight of Apollo 13?

 

Offline Sal Ammoniac

  • Super Contributor
  • ***
  • Posts: 1764
  • Country: us
Re: Most interesting projects involving FPGAs
« Reply #9 on: April 21, 2023, 04:57:59 pm »
Given the schematics, it might be interesting to recreate the AGC at the NOR level.  Maybe step up to the actual IC they used: two 3-input NOR gates per instance.

I wouldn't go that far! Sounds like way too much work. My implementation is in SystemVerilog and is a fairly straightforward implementation. I haven't given much thought yet to how to emulate the external devices (DSKY, IMU, etc.)
"That's not even wrong" -- Wolfgang Pauli
 

Offline matrixofdynamismTopic starter

  • Regular Contributor
  • *
  • Posts: 200
Re: Most interesting projects involving FPGAs
« Reply #10 on: April 21, 2023, 05:29:00 pm »
I was expecting input from professionals here that are in the field :)
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9964
  • Country: us
Re: Most interesting projects involving FPGAs
« Reply #11 on: April 21, 2023, 08:42:29 pm »
I was expecting input from professionals here that are in the field :)

You should have said that in the beginning.  It would have saved a lot of pixels.
Now I'm torn between removing my replies as they are not professional or leaving them for others reading the thread.
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: Most interesting projects involving FPGAs
« Reply #12 on: April 22, 2023, 12:44:32 am »
Just leave them, if he was looking for professionals only he should have said so. I'm not really sure what difference it makes whether it's professional or not.
 

Offline joeqsmith

  • Super Contributor
  • ***
  • Posts: 12277
  • Country: us
Re: Most interesting projects involving FPGAs
« Reply #13 on: April 22, 2023, 02:40:23 am »
For fun back in the 90s, I designed a few different CPUs that I implemented on FPGAs.    Around 20 years ago I designed a reverse print server which basically allows my test equipment to print to an Ethernet printer.   That system was using an old Motorola CPU and the FPGA performed all the heavy lifting.   More recently I had designed an hardware in the loop simulator for one of my motorcycles that runs on another custom board using an FPGA.   Nothing professional, but fun none the less.






Offline Psi

  • Super Contributor
  • ***
  • Posts: 10385
  • Country: nz
Re: Most interesting projects involving FPGAs
« Reply #14 on: April 22, 2023, 02:46:14 am »
10 years ago I really wanted to use a FPGA to try do real-time low-latency HD video compression to try make a cheap 5.8Ghz HD FPV video system, but the math needed for video compression seemed a bit too daunting.
Greek letter 'Psi' (not Pounds per Square Inch)
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf