• Re: FPGA use

    From Anton Ertl@21:1/5 to BGB on Tue Jan 9 07:53:10 2024
    BGB <cr88192@gmail.com> writes:
    Had bought 128GB, but the ASUS ROG MOBO I am using, can't handle a full
    128GB (freaks out and drops back down to 4GB).

    Windows can see that the full 128GB exists, but identifies 124.5 GB of
    it as "System Reserved".

    This sounds to me like a Windows problem, not a problem of the board.
    We have a number of systems, many of them with ASUS boards, with 128GB
    RAM, and they all work fine, but of course none of them runs Windows.

    - anton
    --
    'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
    Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Thomas Koenig@21:1/5 to Anton Ertl on Tue Jan 9 19:26:28 2024
    Anton Ertl <anton@mips.complang.tuwien.ac.at> schrieb:
    BGB <cr88192@gmail.com> writes:
    Had bought 128GB, but the ASUS ROG MOBO I am using, can't handle a full >>128GB (freaks out and drops back down to 4GB).

    Windows can see that the full 128GB exists, but identifies 124.5 GB of
    it as "System Reserved".

    This sounds to me like a Windows problem, not a problem of the board.
    We have a number of systems, many of them with ASUS boards, with 128GB
    RAM, and they all work fine, but of course none of them runs Windows.

    The workstation still under my desk at work (delivered 2015, a
    replacement has finally arrived end of last year) has 512 GB of
    main memory. It ran using full memory using Windows 8.1,
    and currently runs Windows 10.

    Needless to say I would prefer a Linux box, but the IT departments
    of big corporations have their own priorities...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Anton Ertl@21:1/5 to Thomas Koenig on Tue Jan 9 22:38:26 2024
    Thomas Koenig <tkoenig@netcologne.de> writes:
    Anton Ertl <anton@mips.complang.tuwien.ac.at> schrieb:
    BGB <cr88192@gmail.com> writes:
    Had bought 128GB, but the ASUS ROG MOBO I am using, can't handle a full >>>128GB (freaks out and drops back down to 4GB).

    Windows can see that the full 128GB exists, but identifies 124.5 GB of
    it as "System Reserved".

    This sounds to me like a Windows problem, not a problem of the board.
    We have a number of systems, many of them with ASUS boards, with 128GB
    RAM, and they all work fine, but of course none of them runs Windows.

    The workstation still under my desk at work (delivered 2015, a
    replacement has finally arrived end of last year) has 512 GB of
    main memory. It ran using full memory using Windows 8.1,
    and currently runs Windows 10.

    Different variants of Windows support different amounts of memory.
    See, e.g., <https://www.compuram.de/blog/wie-viel-ram-lasst-sich-unter-32-bit-und-64-bit-betriebssystemen-maximal-adressieren/>

    This says that, e.g., Windows 11 Home only supports 128GB, and Windows
    11 Enterprize 32-bit supports 4GB. Interesting entries in this table
    are:

    Windows 2003 Server Datacenter Edition 32-Bit 128GB
    Windows 2008 Server Datacenter 32-Bit 64GB

    Makes you wonder why they reduced the capabilities between 2003 and
    2008.

    - anton
    --
    'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
    Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Lurndal@21:1/5 to Anton Ertl on Tue Jan 9 23:30:08 2024
    anton@mips.complang.tuwien.ac.at (Anton Ertl) writes:
    Thomas Koenig <tkoenig@netcologne.de> writes:
    Anton Ertl <anton@mips.complang.tuwien.ac.at> schrieb:
    BGB <cr88192@gmail.com> writes:
    Had bought 128GB, but the ASUS ROG MOBO I am using, can't handle a full >>>>128GB (freaks out and drops back down to 4GB).

    Windows can see that the full 128GB exists, but identifies 124.5 GB of >>>>it as "System Reserved".

    This sounds to me like a Windows problem, not a problem of the board.
    We have a number of systems, many of them with ASUS boards, with 128GB
    RAM, and they all work fine, but of course none of them runs Windows.

    The workstation still under my desk at work (delivered 2015, a
    replacement has finally arrived end of last year) has 512 GB of
    main memory. It ran using full memory using Windows 8.1,
    and currently runs Windows 10.

    Different variants of Windows support different amounts of memory.
    See, e.g., ><https://www.compuram.de/blog/wie-viel-ram-lasst-sich-unter-32-bit-und-64-bit-betriebssystemen-maximal-adressieren/>

    This says that, e.g., Windows 11 Home only supports 128GB, and Windows
    11 Enterprize 32-bit supports 4GB. Interesting entries in this table
    are:

    Windows 2003 Server Datacenter Edition 32-Bit 128GB
    Windows 2008 Server Datacenter 32-Bit 64GB

    Makes you wonder why they reduced the capabilities between 2003 and
    2008.

    The 32-bit processors were limited to 36 bits, which is 64GB. Not sure
    how the ever would have managed to fit 128GB in and use all of it.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Lurndal@21:1/5 to BGB on Wed Jan 10 00:23:57 2024
    BGB <cr88192@gmail.com> writes:
    On 1/9/2024 4:38 PM, Anton Ertl wrote:
    Thomas Koenig <tkoenig@netcologne.de> writes:
    Anton Ertl <anton@mips.complang.tuwien.ac.at> schrieb:
    BGB <cr88192@gmail.com> writes:
    Had bought 128GB, but the ASUS ROG MOBO I am using, can't handle a full >>>>> 128GB (freaks out and drops back down to 4GB).

    Windows can see that the full 128GB exists, but identifies 124.5 GB of >>>>> it as "System Reserved".

    This sounds to me like a Windows problem, not a problem of the board.
    We have a number of systems, many of them with ASUS boards, with 128GB >>>> RAM, and they all work fine, but of course none of them runs Windows.

    The workstation still under my desk at work (delivered 2015, a
    replacement has finally arrived end of last year) has 512 GB of
    main memory. It ran using full memory using Windows 8.1,
    and currently runs Windows 10.

    Different variants of Windows support different amounts of memory.
    See, e.g.,
    <https://www.compuram.de/blog/wie-viel-ram-lasst-sich-unter-32-bit-und-64-bit-betriebssystemen-maximal-adressieren/>

    This says that, e.g., Windows 11 Home only supports 128GB, and Windows
    11 Enterprize 32-bit supports 4GB. Interesting entries in this table
    are:

    Windows 2003 Server Datacenter Edition 32-Bit 128GB
    Windows 2008 Server Datacenter 32-Bit 64GB

    Makes you wonder why they reduced the capabilities between 2003 and
    2008.


    I am running Windows 10 Professional, it is supposed to be able to
    support 2TB of RAM apparently...

    But, whatever is going on, seemingly 112GB is fine, but 128GB is not...

    Are the graphics on-chip? They may be sharing DRAM.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Brown@21:1/5 to BGB on Wed Jan 10 08:08:35 2024
    On 10/01/2024 01:10, BGB wrote:
    On 1/9/2024 4:38 PM, Anton Ertl wrote:
    Thomas Koenig <tkoenig@netcologne.de> writes:
    Anton Ertl <anton@mips.complang.tuwien.ac.at> schrieb:
    BGB <cr88192@gmail.com> writes:
    Had bought 128GB, but the ASUS ROG MOBO I am using, can't handle a
    full
    128GB (freaks out and drops back down to 4GB).

    Windows can see that the full 128GB exists, but identifies 124.5 GB of >>>>> it as "System Reserved".

    This sounds to me like a Windows problem, not a problem of the board.
    We have a number of systems, many of them with ASUS boards, with 128GB >>>> RAM, and they all work fine, but of course none of them runs Windows.

    The workstation still under my desk at work (delivered 2015, a
    replacement has finally arrived end of last year) has 512 GB of
    main memory.  It ran using full memory using Windows 8.1,
    and currently runs Windows 10.

    Different variants of Windows support different amounts of memory.
    See, e.g.,
    <https://www.compuram.de/blog/wie-viel-ram-lasst-sich-unter-32-bit-und-64-bit-betriebssystemen-maximal-adressieren/>

    This says that, e.g., Windows 11 Home only supports 128GB, and Windows
    11 Enterprize 32-bit supports 4GB.  Interesting entries in this table
    are:

    Windows 2003 Server Datacenter Edition 32-Bit   128GB
    Windows 2008 Server Datacenter         32-Bit   64GB

    Makes you wonder why they reduced the capabilities between 2003 and
    2008.


    I am running Windows 10 Professional, it is supposed to be able to
    support 2TB of RAM apparently...

    But, whatever is going on, seemingly 112GB is fine, but 128GB is not...



    Try booting it from a Linux live USB, with 128 GB in it. That should at
    least let you know if you have a hardware problem (perhaps a faulty
    DIMM) or a Windows problem.

    Using mismatched DIMMs like this can significantly affect the speed of
    the memory. You may find the system is using the DIMMs one at a time,
    in series, because it can't match them up in sets for parallel access.
    For some work, your system will then be a lot slower than if you had 4
    16 GB DIMMs for a total of 64 GB.


    And maybe you'll like Linux. It is not uncommon for tough jobs - such
    as FPGA builds - to run significantly faster under Linux than Windows,
    on the same hardware. Windows-only programs that you need to use can
    often run fine under Wine (or Steam, if the Windows program you /need/
    to run is a game :-) ), and there's always VirtualBox or KVM.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Brown@21:1/5 to BGB on Wed Jan 10 08:12:10 2024
    On 08/01/2024 18:38, BGB wrote:
    On 1/8/2024 5:24 AM, Robert Finch wrote:
    On 2024-01-08 3:08 a.m., BGB wrote:

    My issue with larger boards is the system build times. At some point
    it is not practical as a hobby because builds take too long. It takes
    about an hour or so to build the system for the current board. Not
    keen on the idea of day long build times.


    As the moment, my build times (on the XC7A200T) are around 25 minutes.

    Though, this is not using the full FPGA, and with a fair bit of timing
    slack at the moment. Takes a lot longer if timing is tight.


    I remember working with a fairly large CPLD in the late 90's, with a
    16-bit Windows system. It could take 2 or 3 hours for the build, if it
    fitted - and 6 to 10 hours if it failed. And being 16-bit Windows, the
    system was useless for anything else while the build was running. That
    was tedious development work!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Lurndal@21:1/5 to BGB on Wed Jan 10 14:32:59 2024
    BGB <cr88192@gmail.com> writes:
    On 1/9/2024 6:23 PM, Scott Lurndal wrote:


    Looking elsewhere, it says that the AMD B450 chipset has a 128GB limit.

    Not sure if just for RAM, or if this would also include MMIO for PCIe
    devices and similar...

    Almost certainly the latter. Which explains the missing GB.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Anton Ertl@21:1/5 to BGB on Wed Jan 10 17:04:20 2024
    BGB <cr88192@gmail.com> writes:
    Looking elsewhere, it says that the AMD B450 chipset has a 128GB limit.

    AM4 generally does not support more than 128GB RAM, because DDR4 can
    only have 16GB/chip-select and channel, and AM4 only supports 4
    chip-selects per channel and 2 channels. But B450 certainly does
    support 128GB. We have 128GB in at least one machine with a B450
    board:

    # dmidecode|grep -B1 B450
    Manufacturer: ASUSTeK COMPUTER INC.
    Product Name: TUF B450M-PLUS GAMING

    # dmesg
    ...
    [ 3.859281] EDAC MC: UMC0 chip selects:
    [ 3.859282] EDAC amd64: MC: 0: 16384MB 1: 16384MB
    [ 3.860295] EDAC amd64: MC: 2: 16384MB 3: 16384MB
    [ 3.861280] EDAC MC: UMC1 chip selects:
    [ 3.861280] EDAC amd64: MC: 0: 16384MB 1: 16384MB
    [ 3.862238] EDAC amd64: MC: 2: 16384MB 3: 16384MB
    ...
    # free
    total used free shared buff/cache available
    Mem: 131832604 104094356 17986860 24772 11018444 27738248
    Swap: 0 0 0

    Apparently the kernel uses a little over 2GB for its own purposes (the
    number of total KB shown is only 125.7GB).

    - anton
    --
    'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
    Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Brown@21:1/5 to Scott Lurndal on Wed Jan 10 19:26:07 2024
    On 10/01/2024 15:32, Scott Lurndal wrote:
    BGB <cr88192@gmail.com> writes:
    On 1/9/2024 6:23 PM, Scott Lurndal wrote:


    Looking elsewhere, it says that the AMD B450 chipset has a 128GB limit.

    Not sure if just for RAM, or if this would also include MMIO for PCIe
    devices and similar...

    Almost certainly the latter. Which explains the missing GB.

    If he could see 124.5 GB ram but was missing 3.5 GB, it would be a
    perfect explanation. But he can only see 3.5 GB and is missing 124.5 GB.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Torbjorn Lindgren@21:1/5 to Anton Ertl on Wed Jan 10 18:32:18 2024
    Anton Ertl <anton@mips.complang.tuwien.ac.at> wrote:
    Different variants of Windows support different amounts of memory.
    See, e.g., ><https://www.compuram.de/blog/wie-viel-ram-lasst-sich-unter-32-bit-und-64-bit-betriebssystemen-maximal-adressieren/>

    This says that, e.g., Windows 11 Home only supports 128GB, and Windows
    11 Enterprize 32-bit supports 4GB. Interesting entries in this table
    are:

    Windows 2003 Server Datacenter Edition 32-Bit 128GB
    Windows 2008 Server Datacenter 32-Bit 64GB

    Makes you wonder why they reduced the capabilities between 2003 and
    2008.

    Microsoft's actual documentation[1] say:
    Windows Server 2003 R2 Datacenter Edition, X86: 64 GB (16 GB with 4GT)

    There's no 32-bit entries with more than 64GB supported.

    The MS document does say that PAE support 37-bit (128GB) *addressing*,
    and Googling shows that some early Windows PAE implementation such as
    2003 (and "hacked" XP) allowed (but not supported) up to 128GB before
    MS implemented limits. And people had "interesting" issues when they
    did try it.

    From my vague memories the default Windows virtual memory map (2GB
    application, 2 GB system) is the reason why MS "only" allowed 64GB and
    it's also why MS only supported 16GB on the same OS with the "4GT"
    mode (3GB application, 1GB system). Basically, my theory is that it's
    to avoid running out of system space in the virtual mapping (which is
    still 32-bit).

    I DO have a recollection that there was some kind of Windows edition
    that allowed 128GB via PAE?, perhaps that WAS a variant? of 2003
    Datacenter and MS later decided to try to erase history?

    IIRC the trick is to completely split user-space and kernel-space
    virtual mappings (IE 4/0+0/4 instead of the default of 2/2 or 4GT's
    3/1) and just eat the MASSIVE performance penalty that result from
    this when moving data between user-space and kernel-space.

    You do get the "32-bit programs can used 4GB instead of 2GB (default)
    or 3GB (4GT)" benefit with the "performance sucks" though.

    But you'd need to be pretty damned desperate to do this once 64-bit OS
    was well established. And I have to wonder how many hardware drivers
    worked with this anyway.


    1. https://learn.microsoft.com/en-us/windows/win32/memory/memory-limits-for-windows-releases

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Anssi Saari@21:1/5 to David Brown on Thu Jan 11 14:27:59 2024
    David Brown <david.brown@hesbynett.no> writes:

    I remember working with a fairly large CPLD in the late 90's, with a
    16-bit Windows system. It could take 2 or 3 hours for the build, if
    it fitted - and 6 to 10 hours if it failed. And being 16-bit Windows,
    the system was useless for anything else while the build was running.
    That was tedious development work!

    I have a similar memory but I'm not sure what kind of Windows it
    was. FPGA was something fairly large for the time, the FPGA tool was
    probably early Quartus and there was no progress indication at all. When
    you hit start, mouse cursor changed to a hourglass for hours and then it
    was done, pass or fail. I think someone rigged the then new fangled
    invention called a web camera to watch the display so we didn't have to
    walk to the machine to see if it was finished or not.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Anton Ertl@21:1/5 to BGB-Alt on Fri Jan 12 07:16:10 2024
    BGB-Alt <bohannonindustriesllc@gmail.com> writes:
    On 1/10/2024 11:04 AM, Anton Ertl wrote:
    BGB <cr88192@gmail.com> writes:
    Looking elsewhere, it says that the AMD B450 chipset has a 128GB limit.

    AM4 generally does not support more than 128GB RAM, because DDR4 can
    only have 16GB/chip-select and channel, and AM4 only supports 4
    chip-selects per channel and 2 channels. But B450 certainly does
    support 128GB. We have 128GB in at least one machine with a B450
    board:

    # dmidecode|grep -B1 B450
    Manufacturer: ASUSTeK COMPUTER INC.
    Product Name: TUF B450M-PLUS GAMING

    # dmesg
    ...
    [ 3.859281] EDAC MC: UMC0 chip selects:
    [ 3.859282] EDAC amd64: MC: 0: 16384MB 1: 16384MB
    [ 3.860295] EDAC amd64: MC: 2: 16384MB 3: 16384MB
    [ 3.861280] EDAC MC: UMC1 chip selects:
    [ 3.861280] EDAC amd64: MC: 0: 16384MB 1: 16384MB
    [ 3.862238] EDAC amd64: MC: 2: 16384MB 3: 16384MB
    ...
    # free
    total used free shared buff/cache available
    Mem: 131832604 104094356 17986860 24772 11018444 27738248
    Swap: 0 0 0

    Apparently the kernel uses a little over 2GB for its own purposes (the
    number of total KB shown is only 125.7GB).


    Not sure, is this with an integrated or discrete GPU?...

    Discrete. The CPU is a 3900X.

    Currently 2733 MHz IIRC, as 2933 MHz seemed to have stability issues
    (the new RAM modules, from Corsair, claimed to be good for 3200 MHz, but
    I didn't see stable results much over 2733; was running 2933 with the
    old modules, which IIRC claimed 3000 MHz...).

    The machine reported above uses DIMMs rated at 2666MT/s, and runs them
    at 2666MT/s. dmidecode outputs:

    ...
    Speed: 2666 MT/s
    ...
    Configured Memory Speed: 2666 MT/s
    ...

    IIRC, I have Windows currently set up with around 384GB of swap space,
    spread across several HDDs.

    Have you computed how long it would take to page 384GB out to the HDDs
    and to page them back in? IME paging to HDDs does not make sense
    anymore (and paging to SSDs is questionable, too).

    - anton
    --
    'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
    Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Michael S@21:1/5 to Anssi Saari on Fri Jan 12 15:30:00 2024
    On Thu, 11 Jan 2024 14:27:59 +0200
    Anssi Saari <anssi.saari@usenet.mail.kapsi.fi> wrote:

    David Brown <david.brown@hesbynett.no> writes:

    I remember working with a fairly large CPLD in the late 90's, with a
    16-bit Windows system. It could take 2 or 3 hours for the build, if
    it fitted - and 6 to 10 hours if it failed. And being 16-bit
    Windows, the system was useless for anything else while the build
    was running. That was tedious development work!

    I have a similar memory but I'm not sure what kind of Windows it
    was. FPGA was something fairly large for the time, the FPGA tool was
    probably early Quartus and there was no progress indication at all.
    When you hit start, mouse cursor changed to a hourglass for hours and
    then it was done, pass or fail. I think someone rigged the then new
    fangled invention called a web camera to watch the display so we
    didn't have to walk to the machine to see if it was finished or not.

    What David describes does not sound like Altera.
    By late 90s in Altera world everybody were using MAX+Plus II. It was
    32-bit.
    Altera's biggest CPLD family back then was Max 9000 which was not
    particularly big. May be, the biggest design could take 30 minutes to
    compile, but I never encountered that. 5-7 minutes was more typical on
    decent Pentium-II under Win NT4. And it didn't even need a lot of RAM.
    64 MB was fully sufficient.
    Now, the biggest contemporary Altera FPGAs (Flex 10K family) is a
    different story. I never used biggest members of the family myself,
    but heard that compilation could take several hours.

    I still have project with ACEX FPGA to maintain. ACEX has exactly the
    same architecture as Flex 10K, the only difference is fewer SKUs and
    much lower price tag. But ACEX is supported by Quartus-II v.6 (circa
    2006) so I have no need to somehow convince old MAX+Plus II software to
    work on newer OSes. So on this front I have no war stories to share.

    As for Qaurtus-II, I don't remember ever using very early versions.
    Likely v.4 is the first I used. This one, of course, had progress bar (unreliable, but then every progress bar I had ever seen in this sorts
    of software was unreliable) and it could beep when it ends compilation.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Brown@21:1/5 to Michael S on Fri Jan 12 17:54:03 2024
    On 12/01/2024 14:30, Michael S wrote:
    On Thu, 11 Jan 2024 14:27:59 +0200
    Anssi Saari <anssi.saari@usenet.mail.kapsi.fi> wrote:

    David Brown <david.brown@hesbynett.no> writes:

    I remember working with a fairly large CPLD in the late 90's, with a
    16-bit Windows system. It could take 2 or 3 hours for the build, if
    it fitted - and 6 to 10 hours if it failed. And being 16-bit
    Windows, the system was useless for anything else while the build
    was running. That was tedious development work!

    I have a similar memory but I'm not sure what kind of Windows it
    was. FPGA was something fairly large for the time, the FPGA tool was
    probably early Quartus and there was no progress indication at all.
    When you hit start, mouse cursor changed to a hourglass for hours and
    then it was done, pass or fail. I think someone rigged the then new
    fangled invention called a web camera to watch the display so we
    didn't have to walk to the machine to see if it was finished or not.

    What David describes does not sound like Altera.
    By late 90s in Altera world everybody were using MAX+Plus II. It was
    32-bit.

    It was before then. Probably a Mach4 or Mach5, from Vantis (originally
    AMD, then later Lattice, if I remember correctly). I don't recall which
    parts we used when we had the worst build times, but we were absolutely
    pushing the limits of the devices - at least 95% macrocell usage. And
    the PC used for the job was not top of the range, by any means.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Marcus@21:1/5 to Brian G. Lucas on Sat Jan 13 10:38:37 2024
    On 2024-01-07 22:07, Brian G. Lucas wrote:
    Several posters on comp.arch are running their cpu designs on FPGAs.

    Yes. I use it for my MRISC32 project. I implement a CPU (MRISC32-A1) as
    a soft processor for FPGA use. Furthermore I implement a kind of
    computer around the CPU, to provide ROM, RAM, I/O, graphics, etc.

    Here's a recent video of the computer running Quake:

    https://vimeo.com/901506667

    I use/target two different FPGA boards, but I mainly use one of them for development.

    I have several questions:
    1. Which particular FPGA chip? (not just family but the particular SKU)

    a) Intel Cyclone-V 5CEBA4F23C7N (my main development FPGA)

    b) Intel MAX 10 10M50DAF484 (this is the smaller one of the two)

    2. On what development board?

    a) Terasic DE0-CV

    b) Terasic DE10-Lite

    3. Using what tools?

    Development: Sublime Text + VS Code + GHDL + gtkwave (all free).

    Programming: Intel Quartus Prime Lite Edition, v19.1.0 (it's free).


    Thanks,
    brian

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Terje Mathisen@21:1/5 to BGB on Tue Jan 16 07:47:43 2024
    BGB wrote:
    On 1/13/2024 2:45 PM, BGB wrote:
    *: At the moment, basically any triangle with a circumference larger
    than ~ 21 pixels, or 28 pixels for a quad, will be subdivided. Going
    too much bigger makes the affine warping a lot more obvious.



    Self-correction:
      It is 144 for a triangle and 192 for a quad, 48 pixels on each side...

    I had mistakenly done a square-root here, noting that I compared these
    values as distance^2, but then forgot to take into account that the
    values themselves were squared, so it was 48 pixels linear, rather than square-root of 48 pixels.

    Using 7 pixels would have probably led to a lot less affine distortion,
    but would have have a much higher overhead. Goal being mostly to break
    apart large primitives where the affine distortion is more obvious.

    I am pretty sure that the original SW Quake used 16-pixel spans, with a
    single 1/Z division for each span, so interpolated between affine and perspective correct?

    Terje

    --
    - <Terje.Mathisen at tmsw.no>
    "almost all programming can be viewed as an exercise in caching"

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Terje Mathisen@21:1/5 to Terje Mathisen on Tue Jan 16 07:58:20 2024
    Terje Mathisen wrote:
    BGB wrote:
    On 1/13/2024 2:45 PM, BGB wrote:
    *: At the moment, basically any triangle with a circumference larger
    than ~ 21 pixels, or 28 pixels for a quad, will be subdivided. Going
    too much bigger makes the affine warping a lot more obvious.



    Self-correction:
     Â  It is 144 for a triangle and 192 for a quad, 48 pixels on each
    side...

    I had mistakenly done a square-root here, noting that I compared these
    values as distance^2, but then forgot to take into account that the
    values themselves were squared, so it was 48 pixels linear, rather
    than square-root of 48 pixels.

    Using 7 pixels would have probably led to a lot less affine
    distortion, but would have have a much higher overhead. Goal being
    mostly to break apart large primitives where the affine distortion is
    more obvious.

    I am pretty sure that the original SW Quake used 16-pixel spans, with a single 1/Z division for each span, so interpolated between affine and perspective correct?

    PS. A key idea (from Mike Abrash) was that he managed to overlap
    (nearly?) all of the FDIV latency with integer ops drawing that 16-pixel
    span, so the division became close to free!

    Terje

    --
    - <Terje.Mathisen at tmsw.no>
    "almost all programming can be viewed as an exercise in caching"

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)