sindata.c
上传用户:bltddc
上传日期:2020-07-09
资源大小:4428k
文件大小:1k
源码类别:

SCSI/ASPI

开发平台:

VHDL

  1. #include <stdio.h>
  2. #include <math.h>
  3. // Generate a Verilog format memory table of SIN data for use
  4. // in the DDS example.  Output a complete cycle.  Several defines
  5. // are available to control ranges, etc. output 2s complement.
  6. // How many data points?
  7. const int N = 1024;
  8. // How many bits wide?
  9. const int W = 8;
  10. // PI
  11. const double PI = 3.1415927;
  12. int main () 
  13. {
  14.    double angle, sinval;
  15.    int addr, data;
  16.    int   span;
  17.    
  18.    span  = 1 << W;
  19.    angle = 0;
  20.    for (addr = 0; addr < N; addr++) {
  21.       sinval = span/2 + (span/2 * sin(angle));
  22.       data   = (int)sinval;
  23.       printf ("n@%03X %02X", addr, data);
  24.       angle = angle + 2*PI/N;
  25.       //printf ("n... angle=%f, sinval=%f", angle, sinval);
  26.    }
  27.    printf ("n");   
  28. }