Image Map Image Map
Page 2 of 4 FirstFirst 1234 LastLast
Results 11 to 20 of 32

Thread: Roast my design: 16-bit ISA memory board

  1. #11

    Default

    In my revised ROM card design, I'm asserting MEMCS16# as soon as the 688 matches an address on SA[19:14] but both of my VLSI chipset based boards (one based on the VL82CPCAT-QC (VL82C10x chips) and the other the VL82CPCAT-16QC (VL82C20x chips)) still ignore it and split the transfer into 2 8-bit cycles.

    I don't think it's propagation delay. The LS688 is rated at a max of 23ns and then it goes through 2 OC inverters (max 7ns per inverter). So only 37ns from the time that a matching address is on the bus to my card pulling MEMCS16# low, but these VLSI boards are still ignoring the assertion. I tried it on a 440BX for giggles and it works in 16-bit mode no problem
    Last edited by maxtherabbit; November 24th, 2019 at 08:00 AM.

  2. #12

    Default

    Quote Originally Posted by eeguru View Post
    BTW, your .oe logic is messed up in the CUPL file. For a single-side drive (high or low + Z), you should be setting the value of the FF to a 1 or 0 and assigning the non-Z logic to the .oe expression; not both.
    good catch I overlooked that

    it should look like:
    NOWS = 'b'1;
    NOWS.oe = MEMSEL & MEMOP;

  3. #13
    Join Date
    Mar 2015
    Location
    Colorado, USA
    Posts
    106

    Default

    Quote Originally Posted by eeguru View Post
    You can achieve 1 wait but not zero unless you decode LA and assert combinatorially within 1 CLK in combination with asserting ZWS# within 1 cycle of the strobe assertions.
    Thanks. Do you know if this works on an IBM 5170? That's my intended audience.


    Quote Originally Posted by maxtherabbit View Post
    it should look like:
    NOWS = 'b'1;
    NOWS.oe = MEMSEL & MEMOP;
    Wow, thanks for that! I've tried in the past to do that but I guess I was missing the 'b' - it compiles cleanly if I use that notation.

  4. #14

    Default

    Quote Originally Posted by ab0tj View Post
    Thanks. Do you know if this works on an IBM 5170? That's my intended audience.
    I'm afraid that my VLSI chipsets, being some of the earliest of their kind, are accurately emulating the 5170 system board's logic with respect to MEMCS16#. I'd love to get more opinions on this since I'm still trying to learn myself, but it sure seems like if you miss the first sample point for MEMCS16# (which appears to occur on one of the edges of BALE?) on these boards you don't get a second chance.

  5. #15
    Join Date
    Mar 2015
    Location
    Colorado, USA
    Posts
    106

    Default

    Hmm... so the way I see it, I have 3 choices.

    1) Roll the dice, run the board as-is (with fixes pointed out here) and see if the 5170 cooperates or not. Or maybe try to wire up something to test on a protoboard
    2) Redesign it to use 128K blocks of memory, and maybe even get a small speed boost by replacing system ram with 0WS RAM (my 5170 is 6MHz). I'm not using EMS so maybe D0000-EFFFF would work for UMBs.
    3) Scrap it, buy a Lo-Tech 1MB board and get some UMBs even if they're slow due to being 8 bits wide.

    This is going to take some thinking.

  6. #16

    Default

    I'm torn between 1/2

    1) because I want more data points on this issue and I don't own a 5170 yet
    2) because it would be the most performant outcome for your situation

    8-bit memory on an AT is just gross

  7. #17
    Join Date
    Mar 2015
    Location
    Colorado, USA
    Posts
    106

    Default

    I think I have some '688s in my junk box. Maybe I can wire something up to make some nice logic analyzer traces to look at. Not exactly sure what that would look like without making a fullblown memory board but I'll fire up KiCad and see what I can come up with, haha

  8. #18

    Default

    Quote Originally Posted by ab0tj View Post
    I think I have some '688s in my junk box. Maybe I can wire something up to make some nice logic analyzer traces to look at. Not exactly sure what that would look like without making a fullblown memory board but I'll fire up KiCad and see what I can come up with, haha
    I'd be happy to share a kicad file of the ISA edge connector's physical dimensions if you would like. I measured dozens of cards and it fits like a charm in every board I've tried

  9. #19
    Join Date
    Mar 2015
    Location
    Colorado, USA
    Posts
    106

    Default

    That actually would be helpful. The dimensions for this memory board were just based on some dimensions I found online, not sure how accurate it is. In the short term I have some ISA prototyping boards I can play with.

  10. #20
    Join Date
    Mar 2015
    Location
    Colorado, USA
    Posts
    106

    Default

    Screen Shot 2019-11-24 at 5.47.32 PM.jpg

    So this may shed some light on it. Looks like MEMCS16# is latched by ALE on the 5170 motherboard. The latched signal goes into a PAL which seems to be doing the data steering stuff. Sooo, it looks like one would have to beat ALE going back low in order to get 16-bit transfers. That would explain why the technical manual says to derive it from a direct decode of the LA lines.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •