[J-core] Pondering j-core kickstarter ideas.
Ken Phillis Jr
kphillisjr at gmail.com
Thu Oct 19 19:34:25 EDT 2017
Thank you for the response, and I am happy to find out that some Fixed
Point math is already in the J2 processor. Do you happen to know what
the Q Number format [1] is for the J-Core Fixed Point math? I know
that the Fixed Point OpenGL ES extension [2] specifies S15.16, and
this format just happens to be a perfect match to the Q16.16 format.
[1] Wikipedia: Q (number format):
https://en.wikipedia.org/wiki/Q_(number_format)
[2] Khronos Registry: OES_fixed_point
https://www.khronos.org/registry/OpenGL/extensions/OES/OES_fixed_point.txt
On Thu, Oct 19, 2017 at 5:22 PM, D. Jeff Dionne <Jeff at se-instruments.com> wrote:
> J-Core already supports the primitives needed for DSP in fixed point math,
> it's used extensively in SEI's products built on SMP J-Core SoC designs.
> An example is a (real time) GPS receiver, where all the digital filters,
> DLL/PLL, etc are in fixed point. The MAC unit provides support for
> saturation, etc in hardware. The rest of the GNSS calculations are done in
> soft floating point on the J2.
>
> Actually, all of SEIs use cases have a single processing component to
> them... used in real production systems built on J2 or SMP J2.
>
> The SMP J2, or even a single J2 will handily beat the consoles the original
> SH2 was in http://segaretro.org/Sega_Saturn The addition of an S-Core DSP
> or two, the release of which is a ToDo item, will let you do all the things
> below easily, and has things like fixed point vector rotation in hardware.
>
> On Oct 20, 2017, at 06:24, Ken Phillis Jr <kphillisjr at gmail.com> wrote:
>
> I stated this before, but the J2 Core is capable of handling 3D Math.
> The trick is to use Fixed Point Arithmetic[1] to perform calculations.
>
>
> Have a look at the MAC unit in the J2. It was designed for this sort of
> thing.
>
> Step 1: Add Hardware Acceleration for Fixed Point Calculations
> Step 2: Implement Hardware Vector Math.
> Step 3: Implement a 3D Software Renderer for the Hardware
>
>
> Cheers,
> J
>
> ...
>
> [1] Wikipedia: Fixed Point Arithmetic:
> https://en.wikipedia.org/wiki/Fixed-point_arithmetic
> [2] Wikipedia: Playstation 1 Console:
> https://en.wikipedia.org/wiki/PlayStation_(console)
> [3] Wikipedia: Sega Saturn Console:
> https://en.wikipedia.org/wiki/Sega_Saturn
> [4] Wikipedia: Nintendo GameBoy Advance:
> https://en.wikipedia.org/wiki/Game_Boy_Advance
> [5] Wikipedia: Nintendo DS: https://en.wikipedia.org/wiki/Nintendo_DS
> [6] Github: Libfixmath: https://github.com/PetteriAimonen/libfixmath
> [7] Github: LibfixMatrix: https://github.com/PetteriAimonen/libfixmatrix
> [8] Github: Vector_lib: https://github.com/rampantpixels/vector_lib
> Note: This library uses Floating Point, so The math needs slight changes.
> [9] Github: Tinyrenderer: https://github.com/ssloy/tinyrenderer
> Note: This tutorial is written against mostly Floating Point Math, but
> it can be used with changes to make use of the Fixed point math.
> _______________________________________________
> J-core mailing list
> J-core at lists.j-core.org
> http://lists.j-core.org/mailman/listinfo/j-core
More information about the J-core
mailing list