VHDL 6551 ACIA? Seen it?
VHDL 6551 ACIA? Seen it?
Hi, all. Question: has anyone seen this core before? https://github.com/LIV2/VHDL-6551-ACIA
I found it on github, but I can't seem to find anything about it or its author.
Just curious.
Jonathan
I found it on github, but I can't seem to find anything about it or its author.
Just curious.
Jonathan
Re: VHDL 6551 ACIA? Seen it?
BigEd wrote:
Re: VHDL 6551 ACIA? Seen it?
Hey! It's one of my first HDL projects and I'm cringing after looking at it... Pretty much does what it says on the tin - hardly tested beyond me playing around with a fpga clone of my SBC of the time.
Re: VHDL 6551 ACIA? Seen it?
Yet, at the same time, it is pretty much the only soft 6551 out there. And, as you said in the readme, it doesn't have the bug present in the physical '51. Pretty impressive!
- GARTHWILSON
- Forum Moderator
- Posts: 8773
- Joined: 30 Aug 2002
- Location: Southern California
- Contact:
Re: VHDL 6551 ACIA? Seen it?
Jmstein7 wrote:
Yet, at the same time, it is pretty much the only soft 6551 out there. And, as you said in the readme, it doesn't have the bug present in the physical '51. Pretty impressive!
Regarding a different bug, the following is from my 6502-oriented RS-232 primer, nearly halfway down the page:
- A note should be made here regarding CTS and the 6551. An applications note I have here for the Synertek NMOS 6551, as well as the '87 Rockwell data book's NMOS 6551 pages say that transmission of an already-started frame will stop immediately when CTS is taken false, the byte will be lost, and the TD line will go to marking. I consider this to be either a serious bug, or an idiotic part of the original NMOS design. The same Rockwell book says that the CMOS 65c51 will finish the already-started byte before halting transmission after CTS goes false. (IOW, they corrected that problem when they did the CMOS design.) The other data sheets I have only say CTS must be true for the ACIA to transmit, without giving details of what happens when CTS is taken false in the middle of a frame. My expectation then is that regardless of brand, the CMOS ones generally will finish the frame whereas the NMOS ones won't. If it matters in your use, you will want to experiment with the particular brand of 6551 you have in order to make sure your program operates it correctly so as not to lose data. If the NMOS 6551 is interrupted during a frame transmission, the program will have to give it the same byte again to transmit when CTS goes true. I have used a couple of different brands of 65c51 (ie, CMOS) for decades and never had that trouble with it. In fact, everything I've ever done with the 65c51 worked on first try, except when I lacked a capacitor in the crystal circuit. (If you're using just a crystal and not a separate oscillator, the crystal goes from pin 6 to pin 7 of the DIP, but you need a 22pF capacitor from pin 6 to ground.) The only thing I don't like about the 65c51 is that a couple of the controls are merged into the same control bit, where it would be nice to be able to control them separately instead. (Caveat: I have not used WDC's 65c51 which has a different transmit bug mentioned six paragraphs up.)
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
Re: VHDL 6551 ACIA? Seen it?
It would be great if more people worked on soft 65xx peripheral cores, like the VIA as well as the ACIA. There really is not a lot out there, yet there are a ton of 6502 and ‘c02 cores and projects. There are even some chips that could be resurrected, such as the CIA (which I hear was popular). Perhaps even some soft MMUs? If I could, I would. Oh, well - one day.
- BigDumbDinosaur
- Posts: 9425
- Joined: 28 May 2009
- Location: Midwestern USA (JB Pritzker’s dystopia)
- Contact:
Re: VHDL 6551 ACIA? Seen it?
Jmstein7 wrote:
It would be great if more people worked on soft 65xx peripheral cores, like the VIA as well as the ACIA. There really is not a lot out there, yet there are a ton of 6502 and ‘c02 cores and projects. There are even some chips that could be resurrected, such as the CIA (which I hear was popular). Perhaps even some soft MMUs? If I could, I would. Oh, well - one day.
The tricky part about soft-coring 65xx peripherals is faithfully reproducing the bugs many of them seem to have.
x86? We ain't got no x86. We don't NEED no stinking x86!
Re: VHDL 6551 ACIA? Seen it?
BigDumbDinosaur wrote:
Jmstein7 wrote:
It would be great if more people worked on soft 65xx peripheral cores, like the VIA as well as the ACIA. There really is not a lot out there, yet there are a ton of 6502 and ‘c02 cores and projects. There are even some chips that could be resurrected, such as the CIA (which I hear was popular). Perhaps even some soft MMUs? If I could, I would. Oh, well - one day.
The tricky part about soft-coring 65xx peripherals is faithfully reproducing the bugs many of them seem to have.
- floobydust
- Posts: 1394
- Joined: 05 Mar 2013
Re: VHDL 6551 ACIA? Seen it?
Jmstein7 wrote:
BigDumbDinosaur wrote:
Jmstein7 wrote:
It would be great if more people worked on soft 65xx peripheral cores, like the VIA as well as the ACIA. There really is not a lot out there, yet there are a ton of 6502 and ‘c02 cores and projects. There are even some chips that could be resurrected, such as the CIA (which I hear was popular). Perhaps even some soft MMUs? If I could, I would. Oh, well - one day.
The tricky part about soft-coring 65xx peripherals is faithfully reproducing the bugs many of them seem to have.
Regards, KM
https://github.com/floobydust
https://github.com/floobydust
- BigDumbDinosaur
- Posts: 9425
- Joined: 28 May 2009
- Location: Midwestern USA (JB Pritzker’s dystopia)
- Contact:
Re: VHDL 6551 ACIA? Seen it?
floobydust wrote:
Jmstein7 wrote:
BigDumbDinosaur wrote:
Jmstein7 wrote:
It would be great if more people worked on soft 65xx peripheral cores, like the VIA as well as the ACIA. There really is not a lot out there, yet there are a ton of 6502 and ‘c02 cores and projects. There are even some chips that could be resurrected, such as the CIA (which I hear was popular). Perhaps even some soft MMUs? If I could, I would. Oh, well - one day.
...which is why I started the topic about using the NXP UARTs.
Speaking of bugs, we don't want to leave the 65C02 out in the cold, eh? Let's not forget the bug discovered when an indexed access is done with the base address lying on a page boundary. That does wonders for trying to set up MR0 in a 28L92.
x86? We ain't got no x86. We don't NEED no stinking x86!
- floobydust
- Posts: 1394
- Joined: 05 Mar 2013
Re: VHDL 6551 ACIA? Seen it?
BigDumbDinosaur wrote:
floobydust wrote:
Jmstein7 wrote:
BigDumbDinosaur wrote:
Jmstein7 wrote:
It would be great if more people worked on soft 65xx peripheral cores, like the VIA as well as the ACIA. There really is not a lot out there, yet there are a ton of 6502 and ‘c02 cores and projects. There are even some chips that could be resurrected, such as the CIA (which I hear was popular). Perhaps even some soft MMUs? If I could, I would. Oh, well - one day.
...which is why I started the topic about using the NXP UARTs.
Speaking of bugs, we don't want to leave the 65C02 out in the cold, eh? Let's not forget the bug discovered when an indexed access is done with the base address lying on a page boundary. That does wonders for trying to set up MR0 in a 28L92.
Then again... the posts on that dev cycle included the usual "culprits"... Jeff, Garth and you... IIRC.
Regards, KM
https://github.com/floobydust
https://github.com/floobydust
Re: VHDL 6551 ACIA? Seen it?
Ah. Feels good to finally be a part of the conversation. -Jon
Re: VHDL 6551 ACIA? Seen it?
Just thought I'd mention my 6551 uart core. It is verilog code, but many toolsets will accept either verilog or VHDL.
While it is 32-bit it can function as 8-bit by using only the low order eight bits of the data bus.
https://opencores.org/projects/uart6551
Geared towards 6551 compatibility in a 32-bit environment.
I have code for a VIA too, but I have not posted it.
While it is 32-bit it can function as 8-bit by using only the low order eight bits of the data bus.
https://opencores.org/projects/uart6551
Geared towards 6551 compatibility in a 32-bit environment.
I have code for a VIA too, but I have not posted it.
Re: VHDL 6551 ACIA? Seen it?
Rob Finch wrote:
Just thought I'd mention my 6551 uart core. It is verilog code, but many toolsets will accept either verilog or VHDL.
While it is 32-bit it can function as 8-bit by using only the low order eight bits of the data bus.
https://opencores.org/projects/uart6551
Geared towards 6551 compatibility in a 32-bit environment.
I have code for a VIA too, but I have not posted it.
While it is 32-bit it can function as 8-bit by using only the low order eight bits of the data bus.
https://opencores.org/projects/uart6551
Geared towards 6551 compatibility in a 32-bit environment.
I have code for a VIA too, but I have not posted it.
-Jon