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
- Need clarification on VHDL expressions involving std_logic_vector, unsigned and literals, unsure about compiler interpretation
- uart in vhdl send a string
- How do I diagnose and fix COMP96 ERROR COMP96_0055 and COMP96 ERROR COMP96_0056 when using Vunit to run my VHDL test bench
- VHDL Finite State Machine not transitioning correctly based on external signal
- Binary Coded Decimal Counter in VHDL
- My VHDL ALU code fails to output the result of addition, but outputs the result of subtraction just fine?
- Padding zeros with std_logic_vector results in Implementation Error
- What is the order of porches, visible video data, and sync periods in HDMI protocol?
- Im trying to buil a “N” bit parameterizable accumulator based in an adder and in a register, both parameterizable
- Simulation of a register and an incrementer with VHDL
- VHDL Error - Washing Machine - unresolved signal is multiply driven
- Traffic light junction in VHDL
- Addition of one 4-bit and one 3-bit inputs in VHDL
- 4 input nand gate using 2 input nand
- how to implement a Vhdl code for 2bit karatsuba algorithm
Related Questions in LOOKUP-TABLES
- C++ DirectX compress 3D texture into 2D texture
- convert dataframe to netcdf multidimension using python
- Find a combination of column values exists in Lookup table
- Synapse: Pass the output value (column name) from lookup TO a parameter of a pipeline
- Postgres Lookup Table for coded data
- Making a Lookup up tables in Modelica Dymola through CombiTable2Ds
- In Excel 365, can a row of payment data be processed to sum only the qualified payments in that row preferably without VBA or macros?
- Extract/pull data based on 2 criteria to column
- How to achieve thread-safety in bidirectional tables using just 4 bits per entry, while avoiding any global locks?
- (Google Sheets) How to find column 1 and row 1 values for a matrix of occurrences in which both are present in data
- How to apply Hald 3D Lut image filter in ios swift
- Generating a look up table for remote sensing data
- DirectX Instancing Animation Meshes with LUT
- extracting relevant calibration parameters for recalculation of values in multiple time series using a common ID in another file in R
- Is it possible to store a field (not its contents) as a variable in FileMaker?
Related Questions in INTEL-FPGA
- Verilog module always going to default case when assigning value to input
- weird error happened when ran fpga program
- Assistance Needed: Trouble Running Bare-Metal Code on second core in Cyclone V SoC
- What is "strictly control signal" and Why is its input unconstrained?
- Error (10170): Verilog HDL syntax error (59) near text: "posedge"; expecting an operand
- How to add IP Libraries to Questa with Cocotb?
- Fibonacci LFSR using the Altera Megafunction LPM_SHIFTREG - how to initialise? [VHDL]
- ModelSim Issue - Discrepancy of Data Output Results from ModelSim versus Altera's VWF Editor
- Analyzing synchronizer MTBF in Quartus
- Getting both lines to work on DE2-115 LCD screen
- dpcc code for fpga emulation using jupyter notebooks
- How to read data from FPGA on HPS side
- Timing diagram of convst. signal of ADC (ads8556)
- Error: object on left-hand side of assignment must have a net type
- CLOCK_DEDICATED_ROUTE error in creating an RS latch
Related Questions in INVERSE
- Formula to inverse a function of integral-splines
- Inverse probability of treatment weighting (IPTW) and crr() or FGR() in R
- Why does this not work for inverting a 2-D square array?
- Sampling from the inverse wishart distribution in R
- Math Help: Are These Two Functions Inverses?
- difference inverse(), % in python
- Image Backward(inverse)-Warping In Python
- convert Mahalanobis distance to units (inverse transform Mahalanobis)
- How do I create a inverse relationship in SwiftData to the same model class?
- Fully Inversing Text From SRT File
- Problem with “equivalent_to” for writing general class axioms in owlready2
- Problems with inverse properties in owlready2
- Eigen inverse sparse matrix took abnormal long time
- lognorm.ppf scale of percentile
- Predict() data in R from a gaussian glm model with inverse link
Related Questions in CORDIC
- Writing CORDIC routines for log2 and exp2
- How can I generate the sequence of Kvalues for CORDIC?
- Hyperbolic CORDIC in rotation (Z -> 0) to calculate sinh and cosh?
- How to represent 45 degree and 26.565 degree angle in 32 bit binary form?
- initial point in CORDIC algorithm
- Direct Digital Synthesizer using Cordic Algorithm using C
- Generating sine using cordic algorithm
- How to calculate sin inverse (arcsin) in VHDL?
- VHDL - XILINX CORDIC Algorithm
- 12bit ADC as input for CORDIC
- CORDIC algorithm returning bad numbers
- multiply of cordic issue
- cant quite understand CORDIC algorithm for computing exponantial functions
- How can I calculate Exponential using CORDIC for numbers outside [-1, 1]?
- Why we use CORDIC gain?
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 # Hahtags
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.