Makerules.npl-xc95 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. #
  2. # Copyright (C) 2006-2008 by egnite Software GmbH
  3. # Copyright (C) 2009 by egnite GmbH
  4. #
  5. # All rights reserved.
  6. #
  7. # Redistribution and use in source and binary forms, with or without
  8. # modification, are permitted provided that the following conditions
  9. # are met:
  10. #
  11. # 1. Redistributions of source code must retain the above copyright
  12. # notice, this list of conditions and the following disclaimer.
  13. # 2. Redistributions in binary form must reproduce the above copyright
  14. # notice, this list of conditions and the following disclaimer in the
  15. # documentation and/or other materials provided with the distribution.
  16. # 3. Neither the name of the copyright holders nor the names of
  17. # contributors may be used to endorse or promote products derived
  18. # from this software without specific prior written permission.
  19. #
  20. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  21. # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  22. # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  23. # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
  24. # COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
  25. # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
  26. # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
  27. # OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
  28. # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  29. # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
  30. # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  31. # SUCH DAMAGE.
  32. #
  33. # For additional information see http://www.ethernut.de/
  34. #
  35. # $Id: Makerules.npl-xc95 4839 2012-11-12 18:53:26Z haraldkipp $
  36. #
  37. .SUFFIXES: .ngc .ngd .ucf .jed .svf .xsvf
  38. #
  39. # Create the netlist from Verilog sources.
  40. #
  41. %.ngc: %.prj $(XSTSCRIPT)
  42. $(XST) $(XSTFLAGS) -ifn $(XSTSCRIPT) -ofn $(XSTLOG)
  43. #
  44. # Create a native generic database file from the netlist.
  45. #
  46. %.ngd: %.ngc
  47. $(NGDBUILD) $(NGDBFLAGS) -uc $(NPL_UCF) -p $(NPL_PART) $< $@
  48. #
  49. # Create a CPLD design file from the native generic database file.
  50. #
  51. %.vm6: %.ngd
  52. $(CPLDFIT) $(FITFLAGS) $<
  53. #
  54. # Create a JEDEC file from the CPLD desgin file.
  55. #
  56. %.jed: %.vm6
  57. $(HPREP6) $(PREPFLAGS) -i $<
  58. %.xsvf: %.jed $(IMPSCRIPT)
  59. $(IMPACT) -batch $(IMPSCRIPT)
  60. #
  61. # Create a project file
  62. #
  63. $(PROJ).prj:
  64. ifeq ($(HDL), VHDL)
  65. echo vhdl work "$(PROJ).vhd" > $(PROJ).prj
  66. else
  67. echo verilog work "$(PROJ).v" > $(PROJ).prj
  68. endif
  69. #
  70. # Create an Impact script
  71. #
  72. $(IMPSCRIPT):
  73. echo setPreference -pref UserLevel:NOVICE > $(IMPSCRIPT)
  74. echo setPreference -pref MessageLevel:DETAILED >> $(IMPSCRIPT)
  75. echo setPreference -pref ConcurrentMode:FALSE >> $(IMPSCRIPT)
  76. echo setPreference -pref UseHighz:FALSE >> $(IMPSCRIPT)
  77. echo setPreference -pref ConfigOnFailure:STOP >> $(IMPSCRIPT)
  78. echo setPreference -pref StartupCLock:AUTO_CORRECTION >> $(IMPSCRIPT)
  79. echo setPreference -pref AutoSignature:FALSE >> $(IMPSCRIPT)
  80. echo setPreference -pref svfUseTime:FALSE >> $(IMPSCRIPT)
  81. echo setMode -bs >> $(IMPSCRIPT)
  82. echo setCable -port xsvf -file $(PROJ).xsvf >> $(IMPSCRIPT)
  83. echo addDevice -position 1 -file $(PROJ).jed >> $(IMPSCRIPT)
  84. echo program -e -v -p 1 >> $(IMPSCRIPT)
  85. echo quit >> $(IMPSCRIPT)
  86. $(XSTSCRIPT):
  87. echo run > $(XSTSCRIPT)
  88. echo -ifn $(PROJ).prj >> $(XSTSCRIPT)
  89. echo -ifmt mixed >> $(XSTSCRIPT)
  90. echo -ofn $(PROJ) >> $(XSTSCRIPT)
  91. echo -p $(NPL_FAM) >> $(XSTSCRIPT)
  92. echo -top $(PROJ) >> $(XSTSCRIPT)
  93. echo -opt_level 2 >> $(XSTSCRIPT)
  94. echo -opt_mode AREA >> $(XSTSCRIPT)
  95. .PHONY: npl_clean
  96. npl_clean:
  97. -$(RM) $(XSTLOG)
  98. -$(RM) $(FITLOG)
  99. -$(RM) netlist.lst
  100. -$(RM) $(PROJ).ngc
  101. -$(RM) $(PROJ).lso
  102. -$(RM) $(PROJ).bld
  103. -$(RM) $(PROJ).ngd
  104. -$(RM) $(PROJ).ngc
  105. -$(RM) $(PROJ)_pad.csv
  106. -$(RM) $(PROJ).gyd
  107. -$(RM) $(PROJ).mfd
  108. -$(RM) $(PROJ).pad
  109. -$(RM) $(PROJ).pnx
  110. -$(RM) $(PROJ).rpt
  111. -$(RM) $(PROJ).tspec
  112. -$(RM) $(PROJ).vm6
  113. -$(RM) $(PROJ).xml
  114. -$(RM) $(PROJ)_build.xml
  115. -$(RM) $(PROJ)_ngdbuild.xrpt
  116. -$(RM) $(PROJ)_xst.xrpt
  117. -$(RM) $(PROJ)_vhdl.prj
  118. -$(RM) _impact.cmd
  119. -$(RM) _impactbatch.log
  120. -$(RM) tmperr.err
  121. -$(RM) xlnx_auto_0.ise
  122. -$(RM) -r xst
  123. -$(RM) -r xlnx_auto_0_xdb
  124. -$(RM) -r _xmsgs
  125. -$(RM) $(PROJ).prj
  126. -$(RM) $(IMPSCRIPT)
  127. -$(RM) $(XSTSCRIPT)