Microblaze的bmm文件中的意外符号

时间:2018-11-03 00:09:18

标签: vhdl xilinx microblaze

我正努力着手处理一个简单的Microblaze项目,并严格遵循了我发现的tutorial。我可以在ISE中成功地综合设计,但是当我尝试实现设计时,出现以下错误:

  

错误:: 11-意外的符号为“ MICROBLAZE”,“ ADDRESS_MAP名称”。      第1行,文件“ ipcore_dir / microblaze.bmm”。   错误:NgdBuild:989-无法处理BMM信息ipcore_dir / microblaze.bmm

文件microblaze.bmm是由microblaze核心生成器生成的,因此我没有编辑内容。

使用microblaze核心生成的.bmm文件为:

<li id="post-6062713">
  <div class="uix_message ">
    <div class="messageInfo">
      <div class="messageContent">
        <article>
          <blockquote class="messageText SelectQuoteContainer">
            <div class="bbCodeBlock bbCodeQuote">
              <aside>
                <div class="attribution type">user said:
                  <a href="#" class="AttributionLink">↑</a>
                </div>
                <blockquote class="quoteContainer">
                  <div class="quote">text to ignore</div>
                </blockquote>
              </aside>
            </div>
            text to change color
            <br>
            <br>
            <br>
            <br>
            <div class="bbCodeBlock bbCodeQuote">
              <aside>
                <div class="attribution type">user said:
                  <a href="#" class="AttributionLink">↑</a>
                </div>
                <blockquote class="quoteContainer">
                  <div class="quote">text to ignore</div>
                </blockquote>
              </aside>
            </div>
            text to change color
            <div class="messageTextEndMarker">&nbsp;</div>
          </blockquote>
        </article>
      </div>
    </div>
  </div>
</li>

然后使用以下vhdl代码实例化微火:

import wx
import wx.stc as stc
import os

class Window(wx.Frame):
    def __init__(self, parent, title):
        self.filename = ''
        self.dirname = ''

        wx.Frame.__init__(self, parent, title=title, size=(500, 500))
        self.control = stc.StyledTextCtrl(self, style=wx.TE_MULTILINE | wx.TE_WORDWRAP)
        self.FileMenu(), self.Menu(), self.Binds()

    def FileMenu(self):
        self.filemenu = wx.Menu()
        self.open = self.filemenu.Append(wx.ID_ANY, "&Open", "Open file")

    def Menu(self):
        self.menu = wx.MenuBar()
        self.menu.Append(self.filemenu, "&File")
        self.SetMenuBar(self.menu)

    def Binds(self):
        self.Bind(wx.EVT_MENU, self.Open, self.open)

    def Open(self, e):
        try:
            dlg = wx.FileDialog(self, "Select a file", self.dirname, "", "*.*", wx.FD_OPEN)
            if(dlg.ShowModal() == wx.ID_OK):
                self.filename = dlg.GetFilename()
                self.dirname = dlg.GetDirectory()
                self.wildcard = dlg.GetWildcard()
                if self.wildcard == ".py":
                    self.Python()
                else:
                    pass
                f = open(os.path.join(self.dirname, self.filename), 'r')
                self.control.SetValue(f.read())
                f.close()
            dlg.Destroy()
        except:
            dlg = wx.MessageDialog(self, "Error loading file", "Error", wx.ICON_ERROR)
            dlg.ShowModal()
            dlg.Destroy()

    def Python(self, e):
        self.lexer = self.control.SetLexer(stc.STC_LEX_PYTHON)
        self.control.SetKeyWords(0, " ".join(keyword.kwlist))
        self.control.StyleSetSpec(wx.stc.STC_P_DEFAULT, 'fore:#000000')
        self.control.StyleSetSpec(wx.stc.STC_P_COMMENTLINE, 'fore:#008000')
        self.control.StyleSetSpec(wx.stc.STC_P_COMMENTBLOCK, 'fore:#008000')
        self.control.StyleSetSpec(wx.stc.STC_P_NUMBER, 'fore:#008080')
        self.control.StyleSetSpec(wx.stc.STC_P_STRING, 'fore:#800080')
        self.control.StyleSetSpec(wx.stc.STC_P_CHARACTER, 'fore:#800080')
        self.control.StyleSetSpec(wx.stc.STC_P_WORD, 'fore:#000080')
        self.control.StyleSetSpec(wx.stc.STC_P_TRIPLE, 'fore:#800080')
        self.control.StyleSetSpec(wx.stc.STC_P_TRIPLEDOUBLE, 'fore:#800080')
        self.control.StyleSetSpec(wx.stc.STC_P_CLASSNAME, 'fore:#0000FF')
        self.control.StyleSetSpec(wx.stc.STC_P_DEFNAME, 'fore:#008080')
        self.control.StyleSetSpec(wx.stc.STC_P_OPERATOR, 'fore:#800000')
        self.control.StyleSetSpec(wx.stc.STC_P_IDENTIFIER, 'fore:#000000')

def main():
    app = wx.App()
    frame = Window(None, "Text Editor")
    frame.Show()
    app.MainLoop()

if __name__ == '__main__':
    main()

我已经在TCL控制台中运行了此命令,以在合成中包含微火。

  

源ipcore_dir / microblaze_mcs_setup.tcl

我花了很长时间浏览各种教程,我无法理解问题是什么。有人可以给我提示一下发生了什么问题吗。

我似乎找不到联系本教程作者的方法。

我正在使用在虚拟设备中运行的ISE14.7。

(编辑-添加了以下附加信息)

与“错误”标签相比,我在“控制台”标签中查看了更多信息:

  

错误:: 37-非法文件或路径名符号'MICROBLAZE'。      第5行,文件“ ipcore_dir / microblaze.bmm”。           mcs_0 / U0 / lmb_bram_I / RAM_Inst / Using_B16_S9.The_BRAMs [0] .RAMB16_S9_1 [31:24] INPUT = microblaze.lmb_bram_0.mem;

仔细观察ISE对 microblaze.lmb_bram_0.mem不满意; 我不清楚为什么。

下面是项目层次结构的快照:

project Hierarchy

这是MicroBlaze设置

MicroBlaze Setup

1 个答案:

答案 0 :(得分:1)

我找到了this page,建议是bmm文件中的命名可能与设计层次结构中的命名不匹配。你能确认吗?由于您有名称相关的错误。 microblaze可能无效。

更新答案后,可以看到它的层次设计名称实际上是msc_0。使用正确的名称更新bmm文件可以解决该问题!