原创 nios下如何定制目标板-2

2009-11-11 13:32 2240 10 7 分类: FPGA/CPLD

nios下如何定制目标板-2



修改JTAG UART的设置。mk_target_board自动生成了Module Namejtag_uart_0的部件,但是不同版本生成的该部件设置有些区别。双击该部件,若两个Constuct using registers instead of memory blocks的选项没有选定,那么必须选定。如果不这么修改的话,在后面编译的时候会出现memory block不够用的错误。修改后,如图8<?XML:NAMESPACE PREFIX = O />


<?XML:NAMESPACE PREFIX = V /><!--[if !vml]-->image018.jpg<!--[endif]-->


8 修改JTAG UART设置


修改Module Nameasmi部件的设置参数。这个部件实际上对应板子上的EPCS器件。因为UP3板子上使用的是EPCS1,而mk_target_board默认设置的是EPC4,所以更改asmi设置。如图9


<!--[if !vml]-->image020.jpg<!--[endif]-->


9 修改asmi的设置


添加Avalon Tri-State Bridge。选择Bridges > Avalon Tri-State Bridge如图10


<!--[if !vml]-->image022.jpg<!--[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 nameasmi的部件。如果板子上flahs部件与Altera提供的flash部件不同,那么就要自己来设置参数。每个flash芯片都要有一个标号,这个标号我觉得是用于烧写时指定要烧写的flash芯片用的,所以flash芯片和标号必须一一对应,两个不同的flash不能使用同一个标号。这里添加的UP3板子上的flash芯片,参数的设置如图1112


<!--[if !vml]-->image024.jpg<!--[endif]-->


11 UP3flash芯片的attributes设置


<!--[if !vml]-->image026.jpg<!--[endif]-->


12 UP3flash芯片的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 IDEFlash Programmer将配置文件烧写到asmi上,这样板子一上电EPCS芯片能够配置FPGA


生成系统。选择System Generation页,取消simulation的选定,然后点击Generate


退出SOPC Builder。系统生成完成以后,点击Exit


配置Target Boardproject的顶层实体。这是关键步骤,必须细心的检查设置。


.bdf文件中,首先更新Nios II系统;然后添加必要的逻辑,例如对Nios II系统引出来的逻辑以及flash的逻辑要设置正确;凡是共享总线的非flash器件都要禁用,具体方法就是把片选信号直接接vcc或者gnd(根据片选信号的逻辑来接vcc还是接gnd),使它disable;添加inputoutputbiput等。针对UP3板子,这里还需要添加PLL,用来产生96MHzclk信号。对板子上的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]-->image034.jpg<!--[endif]-->


16 Target Board下拉菜单


如果没有的话,或者直接现成的Target Board的话,需要添加Target Board的路径。添加方法是在SOPC Builder里,选择File > SOPC Builder Setup,在Componet/Kit Library Search Path里添加,如图17。这里添加了两个Target Board的路径。


<!--[if !vml]-->image036.jpg<!--[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条评论)

登录后参与讨论
我要评论
0
10
关闭 站长推荐上一条 /2 下一条