Author Topic: fpga boards: curious about projects that *you* do, guys  (Read 15852 times)

0 Members and 1 Guest are viewing this topic.

Offline legacyTopic starter

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
fpga boards: curious about projects that *you* do, guys
« on: August 21, 2017, 03:33:19 pm »
talking about suggested fpga boards has made me a bit curious about projects (which kind) that you do guys

here I am focused on softcore & its debug processor (my own design, looooong story, looooooooong time project), and STN LCD drivers.

what about you?
 

Offline Sal Ammoniac

  • Super Contributor
  • ***
  • Posts: 1668
  • Country: us
Re: fpga boards: curious about projects that *you* do, guys
« Reply #1 on: August 21, 2017, 04:53:31 pm »
I like to replicate ancient processors, such as the 6502, 8080, and Z80.
Complexity is the number-one enemy of high-quality code.
 

Offline legacyTopic starter

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: fpga boards: curious about projects that *you* do, guys
« Reply #2 on: August 21, 2017, 05:00:15 pm »
Yup, a good idea, because it makes things cheaper and smaller  :popcorn:
 

Offline hamster_nz

  • Super Contributor
  • ***
  • Posts: 2803
  • Country: nz
Re: fpga boards: curious about projects that *you* do, guys
« Reply #3 on: August 21, 2017, 05:23:33 pm »
Just general tinkering and experimenting at the moment.

I'm making an Optical VOR-like directional IR beacon - just a one-pager of HDL generating the signals for the LED array used for transmission.

I'm also playing around with an audio codec chip and I2S, playing with real-time audio processing algorithms.
Gaze not into the abyss, lest you become recognized as an abyss domain expert, and they expect you keep gazing into the damn thing.
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9890
  • Country: us
Re: fpga boards: curious about projects that *you* do, guys
« Reply #4 on: August 21, 2017, 06:12:19 pm »
My first true love was an IBM 1130 back in the early '70s.  I have a fully functional version running on a Nexys2 board.  'Fully functional' means I have emulated card reader input, line printer output, console input/output, all as serial ports, and, from a hardware perspective, the most important component, an emulated drum plotter that heads over to my LaserJet.  It also means it runs the entire IBM OS/compilers/assembler unaltered.  Mine runs at 125x the speed of the original.

At this very moment, I am implementing the LC3 RISC machine on a Nexys4.  This got started when I ran across the project while discussing a microcoded Z80 in this thread:
https://www.eevblog.com/forum/projects/home-build-microcode-design/  Various links for LC3 are over there...

It seems like an interesting project plus it comes with a C compiler (modified LCC) which means I might be able to use it as an embedded core for some other project.

I have done a couple of Z80 projects (using the T80 core from OpenCores).  One runs CP/M 2.0 in all its glory and at 50 MHz and the other runs PacMan using the original PROMs.

I have also built a couple of logic analyzers, the latest from https://sump.org/projects/analyzer/

 

Offline legacyTopic starter

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: fpga boards: curious about projects that *you* do, guys
« Reply #5 on: August 21, 2017, 08:11:14 pm »
it comes with a C compiler (modified LCC)

Yup, it's a common problem for those who want to develop his personal ISA. The first step tries to get hands on a assembly compiler which suites the new architecture, the second step tries to sort out the need of a C-compiler.

LCC is the best solution since it comes with a book, and the code is enough modular  :popcorn:
 

Offline NorthGuy

  • Super Contributor
  • ***
  • Posts: 3146
  • Country: ca
Re: fpga boards: curious about projects that *you* do, guys
« Reply #6 on: August 21, 2017, 11:52:10 pm »
Setting aside the things I do with an intention to make money ...

I want to design and build a good scope. I don't have much time, so it's going very slow.
 

Offline legacyTopic starter

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: fpga boards: curious about projects that *you* do, guys
« Reply #7 on: August 22, 2017, 06:55:05 am »
intention to make money ...

find a job in avionics, we are plenty of needs for fpga!
 

Offline legacyTopic starter

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: fpga boards: curious about projects that *you* do, guys
« Reply #8 on: August 22, 2017, 07:16:03 am »
Currently I am still on a LCD-driver for a customer.
But it seems I can recycle a part of an old project.
Some module.

Oh, I am trying to write code like library code, even for hobby

Code: [Select]
      0 Jun 30 19:07 doc
  15132 Aug 21 22:43 kb_ctrl.vhd
    878 Aug 18 21:46 kb_ctrl_decode.interface.vhd
   1816 Aug 22 00:00 kb_ctrl_decode.vhd
      0 Aug 19 17:00 library.component.clock_scale_v1
      0 Aug 19 17:05 library.component.signal_debounce_v2
    737 Aug 18 18:11 library.component.priority_decoder_v1
      0 Aug 19 19:17 library.component.uart_16n1_v1
      0 Jun 15 15:16 sim
files list in my keyboard controller folder

Code: [Select]
OrangeCube# myhdl-use-a-module-from-library signal_debounce_v2
caching [vhdl] library.component.signal_debounce_v2 {definition, interface, functions, body, testbenchs} ... done

Both ModelSim and ISE are happy now: they have files, and I can reuse modules inside a new project and if I modify a line of these modules, I will be asked to commit the differences to the library, or to create a new branch.

Not so bad  :D

(it's personal, but for me this method increase the productivity and helps in keeping things tidy)
 

Offline legacyTopic starter

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: fpga boards: curious about projects that *you* do, guys
« Reply #9 on: August 22, 2017, 08:20:37 am »
At this very moment, I am implementing the LC3 RISC machinejects/analyzer/[/url]

a few resources found here. A simulator, LCC, examples, and a book!

Where is the HDL code?
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9890
  • Country: us
Re: fpga boards: curious about projects that *you* do, guys
« Reply #10 on: August 22, 2017, 01:05:36 pm »
At this very moment, I am implementing the LC3 RISC machinejects/analyzer/[/url]

a few resources found here. A simulator, LCC, examples, and a book!

Where is the HDL code?

Don't know about any HDL code, I whipped up my own in about a day.  Essentially, I just took the author's FSM diagram and coded it directly.  State for state.  I have also used their hardware architecture as shown.  Mux for mux...

So far all I have are the basic 14 instructions.  I have to take a break and rework that Python coded assembler to output hex instead of binary.  Thanks to a posting elsewhere by Hamster_NZ, I have a way to get a hex file read into BlockRAM at synthesis time.  But the file has to be in plain hex (I think!) to use the VHDL read function.

My goal was to explore the similarity of HDL coding of FSMs and microcoding.  Except for the format on the page, the processes are identical.  Define the fields, define default values for the fields and then at each state define just the exceptions to the defaults. 

I ordered a copy of the book w/CD from Alibris, $10/shipped.

It's just something to do.  Vivado isn't necessarily helping.  It keeps telling me that it has eliminated dozens of sequential elements when, in fact, it hasn't.  Known "oopsie".  To be fixed soon, I hope!

 

Offline legacyTopic starter

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: fpga boards: curious about projects that *you* do, guys
« Reply #11 on: August 22, 2017, 01:36:09 pm »
I ordered a copy of the book w/CD from Alibris, $10/shipped.

Which is the full title of the book from Alibris?
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9890
  • Country: us
Re: fpga boards: curious about projects that *you* do, guys
« Reply #12 on: August 22, 2017, 02:34:56 pm »
Introduction to Computing Systems: From Bits and Gates to C and Beyond with CD-ROM by Patt Yale N. Patel Sanjay J. (2000-10-05) Hardcover

I saw some expensive copies and I specifically wanted the CD-ROM.  I found just one copy that was cheap and appeared to include the CD so I bought it.

https://www.alibris.com/booksearch?keyword=patt+and+patel

There seem to be a LOT of cheap copies without the CD.
 

Online ebastler

  • Super Contributor
  • ***
  • Posts: 6455
  • Country: de
Re: fpga boards: curious about projects that *you* do, guys
« Reply #13 on: August 23, 2017, 04:52:55 pm »
I like to replicate ancient processors, such as the 6502, 8080, and Z80.

I enjoyed replicating this really ancient processor from 1956:
http://www.e-basteln.de/lgp30/

The Spartan-6 I used is totally over the top as far as computing power is concerned, of course. But it was very satisfying to be able to directly map the LGP-30 logic equations (which were published back then) to a VHDL model.  :)
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9890
  • Country: us
Re: fpga boards: curious about projects that *you* do, guys
« Reply #14 on: August 23, 2017, 07:04:12 pm »
I like to replicate ancient processors, such as the 6502, 8080, and Z80.

I enjoyed replicating this really ancient processor from 1956:
http://www.e-basteln.de/lgp30/

The Spartan-6 I used is totally over the top as far as computing power is concerned, of course. But it was very satisfying to be able to directly map the LGP-30 logic equations (which were published back then) to a VHDL model.  :)

Very nice project.  I like the final construction (if a project is ever 'final').
 

Online ebastler

  • Super Contributor
  • ***
  • Posts: 6455
  • Country: de
Re: fpga boards: curious about projects that *you* do, guys
« Reply #15 on: August 23, 2017, 07:22:43 pm »
Very nice project.  I like the final construction (if a project is ever 'final').

Thanks! I had some fun with creative use of the copper and solder mask layers when designing the front panel as another PCB.  :) With the freedom the Chinese board houses give you for contour milling etc., PCBs can actually make quite neat and cost-effecive front panels.

It's not 'final' yet, as you guessed -- I just added a USB port as an alternative to the RS-232. Just the jack and three resistors, with the USB protocol and transceiver all in the FPGA (thanks to some tips from this forum!).
 

Offline dnotq

  • Contributor
  • Posts: 35
  • Country: us
Re: fpga boards: curious about projects that *you* do, guys
« Reply #16 on: August 24, 2017, 03:56:19 am »
I like implementing retro systems like the computers in coin-op video game and classic home computers.  CPUs are very interesting to me right now, as well as video generation and implementing hardware support for for video operations.  I have done a TMS9900 core and I'm working on a rewrite based on microcode (the first one has hard-coded control logic).  I started looking into doing some of the 8-bit CPUs (Z80, 6809, 6502, etc.) but the instruction decode on those is rather overwhelming when you start getting into the details, so I put those projects on hold for now.  I have also done an FPGA version of the TMS-9918A VDP, details here:

http://codehackcreate.com/archives/30

I did the the initial development on a Spartan3e devboard, and used the same FPGA on the final board.  I have since accumulated many FPGA devboards with Spartan6 FPGAs and Zynq SoCs.  It seems VGA output is no longer acceptable, so I have to step-up my game and learn to generate HDMI video.

I would like to work on a project to make an FPGA-based computer that could be a serious computer system, i.e. usable for personal information security, programming, graphics, games, sharing code and programs, and communication.
 
The following users thanked this post: edavid

Offline legacyTopic starter

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: fpga boards: curious about projects that *you* do, guys
« Reply #17 on: August 24, 2017, 07:19:23 am »
I would like to work on a project to make an FPGA-based computer that could be a serious computer system, i.e. usable for personal information security, programming, graphics, games, sharing code and programs, and communication.

Like an fpga-based laptop? Or what?
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9890
  • Country: us
Re: fpga boards: curious about projects that *you* do, guys
« Reply #18 on: August 24, 2017, 12:52:36 pm »
I would like to work on a project to make an FPGA-based computer that could be a serious computer system, i.e. usable for personal information security, programming, graphics, games, sharing code and programs, and communication.

Over at OpenCores.org there is a project named T80 which implements a Z80 CPU.  The Z80 is a really complicated design but the core works well.

I have one instance where I use the core along with some peripherals like a Compact Flash to run the old CP/M 2.0 Operating System.  It runs pretty fast at 50 MHz and would be suitable for a lot of projects.  A little power hungry so I wouldn't be looking at battery power.

I have another incantation that replicates the game board for PacMan.  One of these days I'm going to build the bar table version.

There are many other CPU cores at OpenCores.

One of the most complete projects in terms of documentation and tools is LC3.  I haven't found an HDL version so I am working on one but the OS, assembler and C compiler are available.

Google is your friend but here's a start:
https://en.wikipedia.org/wiki/LC-3

Even though the project is well described, it doesn't translate directly to HDL.  There are a couple of MUXen missing but you'll spot that when you start writing the code.  There may be other solutions to the issue but that's the way I solved it.

I like the LC3 project because it is well documented and the architecture is really easy to understand.  There is even a flow chart of the steps required by each instruction.  Very well documented!

 

Offline legacyTopic starter

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: fpga boards: curious about projects that *you* do, guys
« Reply #19 on: August 24, 2017, 01:22:34 pm »
judging on my personal experience with OpenCores I woudln't suggest it as reference for beginners since it teaches the wrong way, e.g. too often the code is full of magic functions auto-magically instantiated by Altera's tool.
 

Offline brucehoult

  • Super Contributor
  • ***
  • Posts: 4032
  • Country: nz
Re: fpga boards: curious about projects that *you* do, guys
« Reply #20 on: August 24, 2017, 01:53:04 pm »
As with many others, I'm interested in implementing historic CPUs and playing with new instructions for modern processors (e.g. RISCV).

I've done quite a lot with software emulation on PCs, but having it in "hardware" is attractive because then you can put it on a small PCB/breadboard.

Sadly, it's fairly trivial to implement most instruction sets in QEMU so they run at a billion instructions per second on an i3, which is not going to happen on an FPGA. On the other hand, if you want to play with special instructions that are completely different to what is in C or an x86 then FPGA can be faster.
 

Offline Cerebus

  • Super Contributor
  • ***
  • Posts: 10576
  • Country: gb
Re: fpga boards: curious about projects that *you* do, guys
« Reply #21 on: August 24, 2017, 02:33:52 pm »
Current project is the controller for a multislope ADC and I've been trying to get back to writing the Verilog for it for the past few days. I just keep getting interrupted by other things - the GTKwave window with the output from the first cut of the core of it has been sitting staring at me from my second monitor since Monday.

Once that's done and dusted and on a PCB of its own, I might re-purpose the dev board to trying to spin up the CPU design I wrote, as a way of teaching myself Verilog, a few years back. At the time I only had simulation tools, and no synthesis tools or hardware to try it on 'for real'.
Anybody got a syringe I can use to squeeze the magic smoke back into this?
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9890
  • Country: us
Re: fpga boards: curious about projects that *you* do, guys
« Reply #22 on: August 24, 2017, 03:04:02 pm »
judging on my personal experience with OpenCores I woudln't suggest it as reference for beginners since it teaches the wrong way, e.g. too often the code is full of magic functions auto-magically instantiated by Altera's tool.

The T80 core is quite good and well presented.  It is excellent.
As to the rest, they are a start.  Sometimes good, sometimes not so good.  I'm just not aware of any other repository for HDL.  There are individual projects out there but they will almost always be hardware specific if they are somebody's project.

Finding high quality code for significant projects isn't all that easy.
 

Offline legacyTopic starter

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: fpga boards: curious about projects that *you* do, guys
« Reply #23 on: August 24, 2017, 03:08:32 pm »
special instructions that are completely different to what is in C

which kind of instructions? something like the Altivec (PowerPC-G4)?
Vectorial CoPro? BKM-like? Hash-accelerators (crypto-Cops)?
large (64bit or 128bit) FixedPoing engine? with CooRdic support?

or what?
 

Offline legacyTopic starter

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: fpga boards: curious about projects that *you* do, guys
« Reply #24 on: August 24, 2017, 03:35:58 pm »
There are individual projects out there but they will almost always be hardware specific if they are somebody's project

The same applies to OpenCores, if you look as some projects you find that they are ALTERA specif, written with mega-functions, and poor VHDL quality.

Edit
cut.
« Last Edit: August 25, 2017, 12:22:52 pm by legacy »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf