OpenCores
URL https://opencores.org/ocsvn/csa/csa/trunk

Subversion Repositories csa

[/] [csa/] [trunk/] [makefile] - Blame information for rev 50

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 50 simon111
MODULE:=key_schedule
2 8 simon111
TEST_IN_FILE=test_dat/$(MODULE).in
3
TEST_TIMES=1
4 47 simon111
DEBUG=n
5 8 simon111
 
6 27 simon111
all:bench sw_sim rtl
7 8 simon111
 
8 27 simon111
.PHONY: rtl
9
rtl:
10 15 simon111
        @echo compiling rtl ...
11
        @make -s -C rtl    PROJ_NAME=$(MODULE) DEBUG=$(DEBUG)
12
 
13 27 simon111
.PHONY: bench
14
bench:
15 15 simon111
        @echo compiling bench ...
16
        @make -s -C bench  PROJ_NAME=$(MODULE) DEBUG=$(DEBUG)
17 8 simon111
 
18 27 simon111
.PHONY: sw_sim
19
sw_sim:
20 15 simon111
        @echo compiling sw_sim ...
21
        @make -s -C sw_sim PROJ_NAME=$(MODULE) DEBUG=$(DEBUG)
22 8 simon111
 
23
synthesis:
24 13 simon111
        @make -s -C rtl $(MODULE)
25 8 simon111
 
26
sw:
27 13 simon111
        @make -s -C sw_sim $(MODULE)
28 8 simon111
 
29 17 simon111
preare_fn =                                                            \
30
        str="" ;                                                       \
31
        for ((i=0;i<$1;i=i+1));                                         \
32 8 simon111
        do                                                             \
33 17 simon111
                n=$$(expr $$RANDOM % 256 )    ;                        \
34
                binstr=$$(echo "ibase=10;obase=2;$$n"|bc) ;           \
35
                binstr=$$(echo "$$binstr" | awk ' { n=8-length($$1);for(i=0;i
36 13 simon111
                str=$$(printf "%s%s" $$str $$binstr) ;                 \
37 17 simon111
        done          ;                                                \
38
        echo $$str >$(TEST_IN_FILE)
39 8 simon111
 
40 47 simon111
preare_bin_fn =                                                            \
41
        str="" ;                                                       \
42
        for ((i=0;i<$1;i=i+1));                                         \
43
        do                                                             \
44
                n=$$(expr $$RANDOM % 256 )    ;                        \
45
                binstr=$$(echo "ibase=10;obase=16;$$n"|bc) ;           \
46
                binstr=$$(echo "000: $$binstr " | xxd -r );           \
47
                str+=$$binstr ;                 \
48
        done          ;                                                \
49
        echo -n $$str  >$(TEST_IN_FILE)  ;         \
50
 
51 17 simon111
preare_block_decypher:
52
        $(call preare_fn,64)
53
 
54
preare_key_perm:
55
        $(call preare_fn,8)
56
 
57 13 simon111
preare_key_schedule:
58 47 simon111
        $(call preare_bin_fn,8)
59 18 simon111
 
60 50 simon111
preare_group_decrypt:
61
        $(call preare_bin_fn,192)
62
 
63 18 simon111
preare_decrypt:
64 22 simon111
        #$(call preare_fn,204) # evenkey + oddkey + ts pacted (188)
65
        str="";
66
        cp /dev/null $(TEST_IN_FILE);
67
        cat decrypted | while read n;                        \
68
        do \
69
                n=$$(echo $$n | tr 'a-z' 'A-F');                  \
70
                binstr=$$(echo "ibase=16;obase=2;$$n"|bc); \
71
                binstr=$$(echo "$$binstr" | awk ' { n=8-length($$1);for(i=0;i
72
                str=$$(printf "%s%s" $$str $$binstr) ;                 \
73
                echo -n $$binstr >>$(TEST_IN_FILE); \
74
        done
75
 
76
preare_stream_cypher:
77
        $(call preare_fn,24)
78 13 simon111
 
79 15 simon111
ifeq ($(DEBUG),y)
80
check:
81
        @(for ((i=0;i<$(TEST_TIMES);i=i+1))                                       \
82
                do                                                                \
83
                        make -s -C sw_sim test PROJ_NAME=$(MODULE);               \
84
                        make -s -C bench test PROJ_NAME=$(MODULE);                \
85
                        diff test_dat/$(MODULE).out.sw test_dat/$(MODULE).out.v ; \
86
                done)
87 8 simon111
 
88 15 simon111
else
89 8 simon111
check:
90 13 simon111
        @(for ((i=0;i<$(TEST_TIMES);i=i+1))                                       \
91
                do                                                                \
92
                        make -s preare_$(MODULE);                                 \
93
                        make -s -C sw_sim test PROJ_NAME=$(MODULE);               \
94
                        make -s -C bench test PROJ_NAME=$(MODULE);                \
95
                        diff test_dat/$(MODULE).out.sw test_dat/$(MODULE).out.v ; \
96 8 simon111
                done)
97 15 simon111
endif
98 8 simon111
 
99 11 simon111
 
100
clean:
101 27 simon111
        echo clean sw_sim
102 13 simon111
        @make -s -C sw_sim clean
103 27 simon111
        echo clean rtl
104 13 simon111
        @make -s -C rtl clean
105 27 simon111
        echo clean bench
106 13 simon111
        @make -s -C bench clean
107
        @rm -fr test_dat/*
108 11 simon111
 
109 13 simon111
cscope:
110
        @find . -name "*.[ch]" >cscope.files
111
        @cscope -b
112
 
113
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.