#/bin/sh
|
#/bin/sh
|
|
|
# $Id: script.sh,v 1.1.1.1 2005-11-15 01:51:51 arif_endro Exp $
|
# $Id: script.sh,v 1.1.1.1 2005-11-15 01:51:51 arif_endro Exp $
|
#
|
#
|
# This old script was used in designing simple FM receiver
|
# This old script was used in designing simple FM receiver
|
# This script is used to make ROM in that design
|
# This script is used to make ROM in that design
|
# This is because i'm too lazy to write manually (it's approx. 1024 lines).
|
# This is because i'm too lazy to write manually (it's approx. 1024 lines).
|
# This script also usefull for other purpose.
|
# This script also usefull for other purpose.
|
#
|
#
|
# I put this file in CVS repository so I can used it again some other time
|
# I put this file in CVS repository so I can used it again some other time
|
# when I need it. This script is slow, but it's works well.
|
# when I need it. This script is slow, but it's works well.
|
#
|
#
|
# Output format of this script will looks like this
|
# Output format of this script will looks like this
|
# BX when BXXXXXXXXXXXXXXX, -- INDEX XXX
|
# BX when BXXXXXXXXXXXXXXX, -- INDEX XXX
|
# ^-> 1bit ^-> 15bit address
|
# ^-> 1bit ^-> 15bit address
|
# input data is taken from input file
|
# input data is taken from input file
|
# The input file must simple list of value
|
# The input file must simple list of value
|
#
|
#
|
# Author : "Arif E. Nugroho" <arif_endro@yahoo.com>
|
# Author : "Arif E. Nugroho" <arif_endro@yahoo.com>
|
#
|
#
|
# Copyright (C) 2005 Arif E. Nugroho
|
# Copyright (C) 2005 Arif E. Nugroho
|
###############################################################################
|
###############################################################################
|
##
|
##
|
## THIS SOURCE FILE MAY BE USED AND DISTRIBUTED WITHOUT RESTRICTION
|
## THIS SOURCE FILE MAY BE USED AND DISTRIBUTED WITHOUT RESTRICTION
|
## PROVIDED THAT THIS COPYRIGHT STATEMENT IS NOT REMOVED FROM THE FILE AND THAT
|
## PROVIDED THAT THIS COPYRIGHT STATEMENT IS NOT REMOVED FROM THE FILE AND THAT
|
## ANY DERIVATIVE WORK CONTAINS THE ORIGINAL COPYRIGHT NOTICE AND THE
|
## ANY DERIVATIVE WORK CONTAINS THE ORIGINAL COPYRIGHT NOTICE AND THE
|
## ASSOCIATED DISCLAIMER.
|
## ASSOCIATED DISCLAIMER.
|
##
|
##
|
###############################################################################
|
###############################################################################
|
##
|
##
|
## THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
## THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
## IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
## IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
## EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
## EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
## OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
## OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
## WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
## WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
## OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
## OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
## ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
## ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
##
|
##
|
###############################################################################
|
###############################################################################
|
|
|
Z=0
|
Z=0
|
A=0 # 1
|
A=0 # 1
|
B=0 # 2
|
B=0 # 2
|
C=0 # 3
|
C=0 # 3
|
D=0 # 4
|
D=0 # 4
|
E=0 # 5
|
E=0 # 5
|
F=0 # 6
|
F=0 # 6
|
G=0 # 7
|
G=0 # 7
|
H=0 # 8
|
H=0 # 8
|
I=0 # 9
|
I=0 # 9
|
J=0 # 10
|
J=0 # 10
|
K=0 # 11
|
K=0 # 11
|
L=0 # 12
|
L=0 # 12
|
M=0 # 13
|
M=0 # 13
|
N=0 # 14
|
N=0 # 14
|
O=0 # 15
|
O=0 # 15
|
|
|
# Change this file name to suite yours
|
# Change this file name to suite yours
|
if [ ! -z $1 ]; then
|
if [ ! -z $1 ]; then
|
input_file=$1
|
input_file=$1
|
else
|
else
|
input_file="cos.txt"
|
input_file="cos.txt"
|
fi
|
fi
|
|
|
if [ -r $input_file ] ; then
|
if [ -r $input_file ] ; then
|
for list in `cat $input_file`
|
for list in `cat $input_file`
|
|
|
do
|
do
|
tmp0=`expr $Z % 2`
|
tmp0=`expr $Z % 2`
|
tmp1=`expr $Z % 4`
|
tmp1=`expr $Z % 4`
|
tmp2=`expr $Z % 8`
|
tmp2=`expr $Z % 8`
|
tmp3=`expr $Z % 16`
|
tmp3=`expr $Z % 16`
|
tmp4=`expr $Z % 32`
|
tmp4=`expr $Z % 32`
|
tmp5=`expr $Z % 64`
|
tmp5=`expr $Z % 64`
|
tmp6=`expr $Z % 128`
|
tmp6=`expr $Z % 128`
|
tmp7=`expr $Z % 256`
|
tmp7=`expr $Z % 256`
|
tmp8=`expr $Z % 512`
|
tmp8=`expr $Z % 512`
|
tmp9=`expr $Z % 1024`
|
tmp9=`expr $Z % 1024`
|
tmp10=`expr $Z % 2048`
|
tmp10=`expr $Z % 2048`
|
tmp11=`expr $Z % 4096`
|
tmp11=`expr $Z % 4096`
|
tmp12=`expr $Z % 8192`
|
tmp12=`expr $Z % 8192`
|
tmp13=`expr $Z % 16384`
|
tmp13=`expr $Z % 16384`
|
|
|
if [ $tmp0 = 1 ]
|
if [ $tmp0 = 1 ]
|
then
|
then
|
O=1
|
O=1
|
fi
|
fi
|
if [ $tmp0 = 0 ]
|
if [ $tmp0 = 0 ]
|
then
|
then
|
O=0
|
O=0
|
fi
|
fi
|
|
|
if [ $tmp1 -le 1 ]
|
if [ $tmp1 -le 1 ]
|
then
|
then
|
N=0
|
N=0
|
fi
|
fi
|
if [ $tmp1 -gt 1 ]
|
if [ $tmp1 -gt 1 ]
|
then
|
then
|
N=1
|
N=1
|
fi
|
fi
|
|
|
if [ $tmp2 -le 3 ]
|
if [ $tmp2 -le 3 ]
|
then
|
then
|
M=0
|
M=0
|
fi
|
fi
|
if [ $tmp2 -gt 3 ]
|
if [ $tmp2 -gt 3 ]
|
then
|
then
|
M=1
|
M=1
|
fi
|
fi
|
|
|
if [ $tmp3 -le 7 ]
|
if [ $tmp3 -le 7 ]
|
then
|
then
|
L=0
|
L=0
|
fi
|
fi
|
if [ $tmp3 -gt 7 ]
|
if [ $tmp3 -gt 7 ]
|
then
|
then
|
L=1
|
L=1
|
fi
|
fi
|
|
|
if [ $tmp4 -le 15 ]
|
if [ $tmp4 -le 15 ]
|
then
|
then
|
K=0
|
K=0
|
fi
|
fi
|
if [ $tmp4 -gt 15 ]
|
if [ $tmp4 -gt 15 ]
|
then
|
then
|
K=1
|
K=1
|
fi
|
fi
|
|
|
if [ $tmp5 -le 31 ]
|
if [ $tmp5 -le 31 ]
|
then
|
then
|
J=0
|
J=0
|
fi
|
fi
|
if [ $tmp5 -gt 31 ]
|
if [ $tmp5 -gt 31 ]
|
then
|
then
|
J=1
|
J=1
|
fi
|
fi
|
|
|
if [ $tmp6 -le 63 ]
|
if [ $tmp6 -le 63 ]
|
then
|
then
|
I=0
|
I=0
|
fi
|
fi
|
if [ $tmp6 -gt 63 ]
|
if [ $tmp6 -gt 63 ]
|
then
|
then
|
I=1
|
I=1
|
fi
|
fi
|
|
|
if [ $tmp7 -le 127 ]
|
if [ $tmp7 -le 127 ]
|
then
|
then
|
H=0
|
H=0
|
fi
|
fi
|
if [ $tmp7 -gt 127 ]
|
if [ $tmp7 -gt 127 ]
|
then
|
then
|
H=1
|
H=1
|
fi
|
fi
|
|
|
if [ $tmp8 -le 255 ]
|
if [ $tmp8 -le 255 ]
|
then
|
then
|
G=0
|
G=0
|
fi
|
fi
|
if [ $tmp8 -gt 255 ]
|
if [ $tmp8 -gt 255 ]
|
then
|
then
|
G=1
|
G=1
|
fi
|
fi
|
|
|
if [ $tmp9 -le 511 ]
|
if [ $tmp9 -le 511 ]
|
then
|
then
|
F=0
|
F=0
|
fi
|
fi
|
if [ $tmp9 -gt 511 ]
|
if [ $tmp9 -gt 511 ]
|
then
|
then
|
F=1
|
F=1
|
fi
|
fi
|
|
|
if [ $tmp10 -le 1023 ]
|
if [ $tmp10 -le 1023 ]
|
then
|
then
|
E=0
|
E=0
|
fi
|
fi
|
if [ $tmp10 -gt 1023 ]
|
if [ $tmp10 -gt 1023 ]
|
then
|
then
|
E=1
|
E=1
|
fi
|
fi
|
|
|
if [ $tmp11 -le 2047 ]
|
if [ $tmp11 -le 2047 ]
|
then
|
then
|
D=0
|
D=0
|
fi
|
fi
|
if [ $tmp11 -gt 2047 ]
|
if [ $tmp11 -gt 2047 ]
|
then
|
then
|
D=1
|
D=1
|
fi
|
fi
|
|
|
if [ $tmp12 -le 4095 ]
|
if [ $tmp12 -le 4095 ]
|
then
|
then
|
C=0
|
C=0
|
fi
|
fi
|
if [ $tmp12 -gt 4095 ]
|
if [ $tmp12 -gt 4095 ]
|
then
|
then
|
C=1
|
C=1
|
fi
|
fi
|
|
|
if [ $tmp13 -le 8191 ]
|
if [ $tmp13 -le 8191 ]
|
then
|
then
|
B=0
|
B=0
|
fi
|
fi
|
if [ $tmp13 -gt 8191 ]
|
if [ $tmp13 -gt 8191 ]
|
then
|
then
|
B=1
|
B=1
|
fi
|
fi
|
|
|
if [ $Z -le 16383 ]
|
if [ $Z -le 16383 ]
|
then
|
then
|
A=0
|
A=0
|
fi
|
fi
|
if [ $Z -gt 16383 ]
|
if [ $Z -gt 16383 ]
|
then
|
then
|
A=1
|
A=1
|
fi
|
fi
|
|
|
# echo "$tmp0"
|
# echo "$tmp0"
|
# echo "$tmp1"
|
# echo "$tmp1"
|
# echo "$tmp2"
|
# echo "$tmp2"
|
# echo "$tmp3"
|
# echo "$tmp3"
|
# echo "$tmp4"
|
# echo "$tmp4"
|
# echo "$tmp5"
|
# echo "$tmp5"
|
# echo "$tmp6"
|
# echo "$tmp6"
|
# echo "$tmp7"
|
# echo "$tmp7"
|
# echo "$tmp8"
|
# echo "$tmp8"
|
# echo "$tmp9"
|
# echo "$tmp9"
|
# echo "$tmp10"
|
# echo "$tmp10"
|
# echo "$tmp11"
|
# echo "$tmp11"
|
# echo "$tmp12"
|
# echo "$tmp12"
|
# echo "$tmp13"
|
# echo "$tmp13"
|
# echo "$tmp14"
|
# echo "$tmp14"
|
|
|
echo "B\"$list\" when B\"$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O\", -- INDEX $Z"
|
echo "B\"$list\" when B\"$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O\", -- INDEX $Z"
|
Z=`expr $Z + 1`
|
Z=`expr $Z + 1`
|
|
|
done
|
done
|
|
|
else
|
else
|
# echo "Input file: $input_file doesn't exist";
|
# echo "Input file: $input_file doesn't exist";
|
echo "Input file or file cos.txt doesn't exist";
|
echo "Input file or file cos.txt doesn't exist";
|
echo "Usage: `basename $0` input_file";
|
echo "Usage: `basename $0` input_file";
|
fi
|
fi
|
|
|