Forgive me, I haven't read the whole thread in detail (though I will now!). SPI is generally more extensible than EIA-232 and most controllers/cores have an EIA-232 mode. Unless you have a flash part or something else connected, why not do EIA-232 serial output directly with the SPI engine?
Hum .. I am not sure what you are asking here.
The situation is simple, I need to attach an UART "any uart that would fit" to the T-11.
Now the second thing is "I want to build this stuff possibly with a set of components I already have here" ( literally in my boxes/etc. ) , I have experimented already with this MAX3100, it has the advantage that having SPI "is not particulary dependant on any CPU bus cycle" and also have advantage of a low pins count so I don't need to route a lot of signals to it.
I have a few UARTs around here but all of them would anyway require me to adapt/emulate a their access cycle with the T-11 one, still like in this case, there would be also to map the register in a way the RT-11 ( the OS ) wants to see it.
The T-11 is just a CPU, does not have any SPI or Uart core into it so you need to attach an external device for that.
The reason I need the RS232 port is because I need to attach it to a VT220 and/or some sort of that ( Hyperterminal for example ).
When I started this "T-11 project" the idea was really "something I could make it up in 2 weeks or so without the need to go to the shop and buy anything" ( already failed a bit in that ) so about the CPLD choice it's really "I have this XC95108 I have to do everything with it".
I already used this MAX3100, I know how to program it/make it work, but I wasn't thinking in the beginning in actually made it become "an HW emulation" of the ODT console ( DL11 ? ) I was thinking more along the lines "well I could simply modify the SW in the few necessary points" but turns out that actually that is probably going to be MUCH harder than making the MAX3100 act as a DL11.
Now this XC95108 "is something but not that big" it's not an FPGA nor a Microcontroller so that also adds quite a bit of challenge, in fact I was "worried really much" that by adding a 16 bits register I was going to run out of resources ( cells ) but I am still in.
Fundamentally in this case I have to "transform" a read/write in a particular memory address into a send/receive or 16 serial bits to the MAX3100 while making the CPU wait as this is happening and I have to do it "with a bunch of gates and a few latches/flip-flops" I can't write a super-complex state machine or such because it's not going to fit into that CPLD and then in the end all this have to look like a simple memory read/write to the T-11.
I was already feeling quite sorry I had to increase that counter 2 more bits thinking "oh now this is going to steal me 2 more latches" :D
Ah I see now better what you are asking, you say basically "why not to make your own uart using the CPLD itself ?"
Because transmitting would not be too complex but receiving would be and again I don't think I have enough cells for doing it, SPI is "more or less" "an uart" but less complex I don't need any time sincronization cause I am giving the clock.
Keep in mind the XC95108 "is not a super big thing".