⑺ 修改JTAG UART的设置。mk_target_board自动生成了Module Name为jtag_uart_0的部件,但是不同版本生成的该部件设置有些区别。双击该部件,若两个Constuct using registers instead of memory blocks的选项没有选定,那么必须选定。如果不这么修改的话,在后面编译的时候会出现memory block不够用的错误。修改后,如图8;<?XML:NAMESPACE PREFIX = O />
<?XML:NAMESPACE PREFIX = V /><!--[if !vml]--><!--[endif]-->
图8 修改JTAG UART设置
⑻ 修改Module Name为asmi部件的设置参数。这个部件实际上对应板子上的EPCS器件。因为UP3板子上使用的是EPCS1,而mk_target_board默认设置的是EPC4,所以更改asmi设置。如图9;
<!--[if !vml]--><!--[endif]-->
图9 修改asmi的设置
⑼ 添加Avalon Tri-State Bridge。选择Bridges > Avalon Tri-State Bridge。如图10;
<!--[if !vml]--><!--[endif]-->
图10 添加Avalon Tri-State Bridge
⑽ 添加板子上所有与FPGA相连的flash器件。选择Memory > Flash Memory (Common Flash Interface)。
板子上有多少与FPGA相连的flash器件要通过Nios II IDE提供的Flash Programmer来烧写,那么就要添加多少个对应的flash部件。其中,板子上的EPCS器件不需要添加,因为mk_target_board执行时,已经把它添加到Nios II系统中了,即module name为asmi的部件。如果板子上flahs部件与Altera提供的flash部件不同,那么就要自己来设置参数。每个flash芯片都要有一个标号,这个标号我觉得是用于烧写时指定要烧写的flash芯片用的,所以flash芯片和标号必须一一对应,两个不同的flash不能使用同一个标号。这里添加的UP3板子上的flash芯片,参数的设置如图11、12;
<!--[if !vml]--><!--[endif]-->
图11 UP3上flash芯片的attributes设置
<!--[if !vml]--><!--[endif]-->
图12 UP3上flash芯片的Timing设置
⑾ 可根据自己需要修改部件的Module Name。这个步骤不是必须的。修改后的System Contents页,如图13;
<!--[if !vml]--><!--[endif]-->
图13 各个部件设置好之后的System Contents页
⑿ 选择More “Board_System” Settings页,设置硬件映象。可根据需要设置多个硬件映象。在本实例中只设置一个user模式的硬件映象。如图14:
<!--[if !vml]--><!--[endif]-->
图14 设置硬件映象
这里设置user模式下,配置文件存在asmi上,偏移地址为0。这样设置可以Nios II IDE的Flash Programmer将配置文件烧写到asmi上,这样板子一上电EPCS芯片能够配置FPGA;
⒀ 生成系统。选择System Generation页,取消simulation的选定,然后点击Generate;
⒁ 退出SOPC Builder。系统生成完成以后,点击Exit;
⒂ 配置Target Board的project的顶层实体。这是关键步骤,必须细心的检查设置。
在.bdf文件中,首先更新Nios II系统;然后添加必要的逻辑,例如对Nios II系统引出来的逻辑以及flash的逻辑要设置正确;凡是共享总线的非flash器件都要禁用,具体方法就是把片选信号直接接vcc或者gnd(根据片选信号的逻辑来接vcc还是接gnd),使它disable;添加input、output、biput等。针对UP3板子,这里还需要添加PLL,用来产生96MHz的clk信号。对板子上的flash芯片如图15;
<!--[if !vml]--><!--[endif]-->
图15 设置好的.bdf文件
⒃ 逻辑综合、配置引脚、编译。这个和普通project流程一样。
编译完成后,Target Board就做好。制作Target Board的关键步骤在SOPC Builder里的配置和project顶层实体的配置。
4. 如何添加Target Board?
若自己制作了Target Board,那么在SOPC Builder里的Target Board下拉菜单中就会有对应的Target Board可选,如图16。
<!--[if !vml]--><!--[endif]-->
图16 Target Board下拉菜单
如果没有的话,或者直接现成的Target Board的话,需要添加Target Board的路径。添加方法是在SOPC Builder里,选择File > SOPC Builder Setup,在Componet/Kit Library Search Path里添加,如图17。这里添加了两个Target Board的路径。
<!--[if !vml]--><!--[endif]-->
图17 添加Target Board的路径
5. 小结
⑴ 制作Target Board,必须明白FPGA芯片是如何配置的,Nios系统是如何启动的,建议用户阅读相关资料。例如Nios II Flash Programmer User Guide;
⑵ 制作Target Board,需要对了解板子上所有flash芯片,建议制作之前阅读flash芯片的datasheet;
⑶ 制作Target Board,需要了解板子上flash芯片的连接情况,建议制作之前查看板子的原理图。系统分类: CPLD/FPGA | 用户分类: FPGA | 来源: 转贴 | 【推荐给朋友】 | 【添加到收藏夹】
该用户于2009/7/11 11:40:49编辑过该文章
文章评论(0条评论)
登录后参与讨论