diff options
Diffstat (limited to 'part_3/ex12/sin_gen_scripts/sinegen.py')
-rwxr-xr-x | part_3/ex12/sin_gen_scripts/sinegen.py | 66 |
1 files changed, 33 insertions, 33 deletions
diff --git a/part_3/ex12/sin_gen_scripts/sinegen.py b/part_3/ex12/sin_gen_scripts/sinegen.py index 9dba855..f0318d8 100755 --- a/part_3/ex12/sin_gen_scripts/sinegen.py +++ b/part_3/ex12/sin_gen_scripts/sinegen.py @@ -1,33 +1,33 @@ -# sinegen.py - Generate sinewave table -# ... for use with Altera ROMs -# -from math import sin, cos, radians - -DEPTH = 1024 # Size of ROM -WIDTH = 10 # Size of data in bits -OUTMAX = 2**WIDTH - 1 # Amplitude of sinewave - -filename = "rom_data.mif" -f = open(filename,'w') - -# Header for the .mif file -print >> f, "-- ROM Initialization file\n" -print >> f, "DEPTH = %d;" % DEPTH -print >> f, "WIDTH = %d;" % WIDTH -print >> f, "ADDRESS_RADIX = HEX;" -print >> f, "DATA_RADIX = HEX;\n" -print >> f, "CONTENT\nBEGIN\n" - -for address in range(DEPTH): - angle = (address*2*pi)/DEPTH - sine_value = sin(angle) - data = int((sine_value)*0.5*OUTMAX)+OUTMAX/2 - - print "%4x : %4x;" % (address, data) - print >> f, "%4x : %4x;" % (address, data) - -print >> f, "END;\n" - -f.close() - - +# sinegen.py - Generate sinewave table
+# ... for use with Altera ROMs
+#
+from math import sin, cos, radians
+
+DEPTH = 1024 # Size of ROM
+WIDTH = 10 # Size of data in bits
+OUTMAX = 2**WIDTH - 1 # Amplitude of sinewave
+
+filename = "rom_data.mif"
+f = open(filename,'w')
+
+# Header for the .mif file
+print >> f, "-- ROM Initialization file\n"
+print >> f, "DEPTH = %d;" % DEPTH
+print >> f, "WIDTH = %d;" % WIDTH
+print >> f, "ADDRESS_RADIX = HEX;"
+print >> f, "DATA_RADIX = HEX;\n"
+print >> f, "CONTENT\nBEGIN\n"
+
+for address in range(DEPTH):
+ angle = (address*2*pi)/DEPTH
+ sine_value = sin(angle)
+ data = int((sine_value)*0.5*OUTMAX)+OUTMAX/2
+
+ print "%4x : %4x;" % (address, data)
+ print >> f, "%4x : %4x;" % (address, data)
+
+print >> f, "END;\n"
+
+f.close()
+
+
|