- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
(8)将修改后的myboard_init.m另存为DE2Board_init.m。(9)返回封装编辑器,单击Documentation标签,在Masktype框中输入AltBusAlteraBlockSet,在MaskDesicription框中输入关于LEDG0模块的说明,之后单击Apply按钮,然后单击OK按钮退出封装编辑器。至此已完成LEDG0模块的封装。参照以上过程建立其他开发板接口模块。这种方法将每一个输入/输出模块单独处理,工作量较大。还有另一种更方便的方法,即在开发板模型库中将同类接口模块当作一个模块对待,在使用该模块时通过改变参数来实现对不同物理接口的使用。这里以HEX0~HEX7为例来说明这个过程:(1)在前面做好的模型库中复制并粘贴模型LEDG0,DSPBuilder会提示错误,忽略该错误,并将该模型的名字修改为HEX。(2)编辑模块HEX的封装,将Icon的Drawingcommands的内容改为image(imread(HEX.bmp))。(3)切换到Parameters页,选中参数nSgCpl,按对话框左侧的按钮,在参数列表的最后插入一个新的参数,将新参数的Prompt和Variable改为HEX_Index,Type改为popup,在popups中输入0/1/2/3/4/5/6/7(这里“/”表示换行)。(4)切换到Initialization页,在Initializationcommands框中输入以下代码: index_ta=40+str2num(get_param(gcb,HEX_Index)); set_param(gcb,MaskSelfModifiable,on); [boardimage]=DE2Board_init(index_ta);使用HEX时,首先选择参数HEX_Index,然后计算出index_ta作为IoComponent的值。封装中的其他内容可参照LEDG0的封装步骤进行修改。(5)在DE2Board_init.m中加入代码5.2所示的初始化代码。代码5.2模型HEX的初始化代码。PinOfHEX=[PIN_V13,PIN_V14,PIN_AE11,PIN_AD11,PIN_AC12,PIN_AB12,PIN_AF10,;PIN_AB24,PIN_AA23,PIN_AA24,PIN_Y22,PIN_W21,PIN_V21,PIN_V20,;PIN_Y24,PIN_AB25,PIN_AB26,PIN_AC26,PIN_AC25,PIN_V22,PIN_AB23,;PIN_W24,PIN_U22,PIN_Y25,PIN_Y26,PIN_AA26,PIN_AA25,PIN_Y23,;PIN_T3,PIN_R6,PIN_R7,PIN_T4,PIN_U2,PIN_U1,PIN_U9,;PIN_R3,PIN_R4,PIN_R5,PIN_T9,PIN_P7,PIN_P6,PIN_T2,;PIN_M4,PIN_M5,PIN_M3,PIN_M2,PIN_P3,PIN_P4,PIN_R2,;PIN_N9,PIN_P9,PIN_L7,PIN_L6,PIN_L9,PIN_L2,PIN_L3,;];cellPinHEX=cellstr(PinOfHEX);if((IoComponent=47)(IoComponent=40))param{IoComponent}.sgn =UnsignedInteger;param{IoComponent}.nodetype =OutputPort;param{IoComponent}.bwl =7;param{IoComponent}.bwr =0;param{IoComponent}.sat =off;param{IoComponent}.rnd =off;param{IoComponent}.cst =0;param{IoComponent}.LocPin =char(cellPinH
文档评论(0)