I am using Altera De0 nano Soc FPGA, and Quartus 16.1 lite edition. After doing a search on internet, I found that to get sin, cos and atan Altera's CORDIC IP core can be used directly. And also found lookup table (LUT) can be used for sin or cos (mostly available in google) but how to get sin inverse (ARCSIN) in VHDL?
I have found a sin and cos lookup table, is there a way to generate sin inverse?
How to calculate sin inverse (arcsin) in VHDL?
1.5k Views Asked by komto909 At
2
There are 2 best solutions below
2
JHBonarius
On
Yes there is.
For instance using CORDIC...One of my first hits on Google: A survey of CORDIC algorithms for FPGA based computer
Related Questions in VHDL
- Is an inferred latch in Quartus II necessarily transparent
- VHDL, concurrent signal assignment wrong on FPGA but right in Modelsim
- Others => '1' statement in Verilog
- VHDL: Internal signal in component not triggered
- WARNING:Xst:1290 and WARNING:Xst:528
- What does it mean whe you have: case state is when vale1 => state <= value2 in vhdl?
- Data transfer between fpga (14 bits) vhdl block to NIos II system (16 bits)
- How can I merge several Xilinx NGC netlists to an new netlist
- Random Generator using UNIFORM
- Read file in FPGA
- VHDL OR logic with 32 bit vector
- VHDL average of Array through for loop
- VHDL using two components from a second file
- Multiple behaviours for single entity
- No feasible entries for infix operator "+"
Related Questions in LOOKUP-TABLES
- How can I perform search on a lookup table without loading it in memory?
- Alpha blending using table lookup is not as fast as expected
- Javascript for table and lookup table
- Sync two FPGAs to generate same Sine Wave
- Using Rust's enum as a bi-directional lookup table
- Representation of Lookup table
- Ruby Syntax for finding same foreign key values in different tables
- Populating cell array using lookup table
- XLST Lookup Table returns false
- Store and lookup IP Packet header fields in Python
- Hash function to map consecutive integers to non-distinct integers
- build a 2D lookup table from Spark Dataframe
- How to create a lookup table with noise in Python?
- Lookup tables in Core Data
- Invert a LUT (lookup table)
Related Questions in INTEL-FPGA
- Altera UART IP Core
- Emulating altera bitstream
- Mixer-Unit on Altera DE2-115 Cyclone IV
- Memory mapped ADC on DE1-SoC using HPS (hard-core processor)
- How to see the content of the ON-CHIP RAM of my design in DE1-SOC FPGA?
- Does Quartus II support line.all?
- Verilog FIR filter
- vhdl manual clock hour set
- C to Fpga error with LCD under Altera DE2-70 board
- How to generate delay in verilog using Counter for Synthesis and call inside Always block?
- Automated test runs with Altera Quartus
- "No such file or directory" when running app on linux arm target
- Can I use Modelsim license for Student Edition 10.6 for Altera Modelsim 16.0 edition?
- VHDL buffer variable vs out variable
- How can I do a pause of 2Hz in a clock in VHDL?
Related Questions in INVERSE
- Find nCr mod M where M is not prime
- Morring Matrix with Google Drive SpreadSheets
- Can blurring on an image be reversed if the blurring algorithm is known?
- Divide windows form into 4 section and view diffrent orientation panel in each section
- Making Dataset for 4 Motors Inverse kinematics using ANFIS in MATLAB
- Calculating the Modular Inverse in JavaScript
- Inverse Error Function in C
- Can you help me understand the inverse Fourier transform work?
- The Inverse portion of my 3x3 matrix program?
- inverse=true in JPA annotations
- SML inverse list with accumulator list
- Semi-reversible integer hash (please keep an open mind)
- Inverse of a diagonal matrix in r
- Writing a function in javascript that is the inverse of another
- Second Self-To-Self relationship in Entity Framework
Related Questions in CORDIC
- How can we use cordic to tanh(x+1)/tanh(x)?
- How to get rid of scale factor from CORDIC
- Why we use CORDIC gain?
- CORDIC for square roots
- Right shifting a carry save number
- Writing CORDIC routines for log2 and exp2
- Hyperbolic CORDIC in rotation (Z -> 0) to calculate sinh and cosh?
- Generating sine using cordic algorithm
- How to represent 45 degree and 26.565 degree angle in 32 bit binary form?
- VHDL - XILINX CORDIC Algorithm
- How to calculate sin inverse (arcsin) in VHDL?
- arctan function with cordic with vhdl
- How can I calculate Exponential using CORDIC for numbers outside [-1, 1]?
- Small error in Java CORDIC implementation using BigDecimals
- initial point in CORDIC algorithm
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Yes, it's possible to generate a lookup table for
arcsin.1) Determine the input precision, in other words how many values you want to keep in your lookup table. For example, you need to store 11 values if your precision is 0.1.
2) Find the results of arcsin functions. Here is a source I found by googling.
3) Determine the output precision.
If the precision is 1, all values are rounded to integers.
If the precision is 0.5, the results are as below. The output needs 9-bit size for this precision. 8 bits are for the integer part and 1 bit is for the fractional part.
4) Map input values to addresses of the lookup table. For example, it should be like below for 0.1 precision. This example doesn't require an additional lookup table or big logic for address mapping.
5) Implement this lookup table in VHDL like the ones you've found for
sinorcos.