基于PICOBLAZE的流水灯参考设计.docx_第1页
基于PICOBLAZE的流水灯参考设计.docx_第2页
基于PICOBLAZE的流水灯参考设计.docx_第3页
基于PICOBLAZE的流水灯参考设计.docx_第4页
基于PICOBLAZE的流水灯参考设计.docx_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学习板网店:/基于picoblaze的流水灯参考设计前言我写下这篇文章,旨在一步一步教初学者如何开始第一个picoblaze嵌入式设计,让初学者了解picoblaze原理与架构的同时,掌握其开发环境与流程。刚接触的朋友,只要照着做,肯定可以做出来,如果遇到问题,可以把问题发到我邮箱:。第一步:picoblaze开发包kcpsm3的下载:1、打开xilinx官方网站/,点击“产品ip核”,2、在新打开的页面中,在“搜索ip核”框中,输入picoblaze,点击“搜索”,3、然后点击“picoblaze 8 位微控制器”,4、点击“下载”转到登录页面,5、如果你已经有xilinx网站的账号,则直接输入账号与密码,点击“sign in”。如果还没有xilinx网站的账号,则点右边的“create account,然后按照它的提示一步一步完成注册(不会注册的朋友自己想办法),再回到刚才的登录页面点击“sign in”,6、进入picoblaze download页面,在picoblaze type(s)下拉列表中选择picoblaze for spartan-3(e/l), virtex-4,virtex-ii(pro) fpgas,确认其他个人信息没有问题后,再点“下一步”,co27、点击“我接受”,8、在弹出来的对话框中,选择“是”或者“否”都可以,没有区别。9、然后再点一次“我接受”,在接下来的页面中,点击 “picoblaze lounge”。10、选择第五行的picoblaze for spartan-3, virtex-4, virtex-ii and virtex-ii pro fpgas,点击右边的“download design files”。然后按照提示把文件保存好。第二步,学会picoblaze的ip核kcpsm3的使用下载完成后,我们把刚才下载的kcpsm3.zip文件解压找到kcpsm3_manual.pdf,看文档可以发现,从第1到12页,都是在讲picoblaze的原理功能特性等方面的内容,然后13,14两页是讲picoblaze结合vhdl语言的使用,第15页是讲picoblaze结合verilog语言的使用,再看16页到39页,全部是讲picoblaze的汇编指令,由于今天是入门教程,我们先跳过这前面的39页,直接从40页仔细看起,按照上面所说的一步一步操作。1, 把assembler文件夹下的kcpsm3.exe,rom_form.vhd,rom_form.v和rom_form.coe这四个文件复制到我们的工作目录下,为方便讲解,我们创建一个临时工作目录,如:d:xilinxpico_led。2,用记事本或者文本文档编辑以下内容,并以“.psm”扩展名保存,我们这里取名为picoled.psm。start:load s2,aa;led:output s2,02;load s0,ff; loop1:load s3,10;loop2: load s1,ff;loop3: sub s1,01;add s1,01;sub s1,01;jump nz,loop3;sub s3,01;jump nz,loop2;sub s0,01;jump nz,loop1;xor s2,ff;jump led;3,打开系统的“开始”菜单,点击“运行”。4,在弹出来的对话框中,输入“cmd”。5,输入命令d:6,输入cd xilinxpico_led7,输入kcpsm3 picoled.psm8,成功后,在工作目录下,会生成很多的文件,其中有pass1pass5,否则就没有成功。第三步、建立ise工程,并综合仿真,下载调试1,在vhdl文件夹下,找到kcpsm3.vhd文件,同样复制到工作目录下2,新建一工程,取名为pico_led。然后,输入以下顶层源文件。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity pico_led is port ( clk : in std_logic; reset : in std_logic; led : out std_logic_vector (7 downto 0);end pico_led;architecture behavioral of pico_led iscomponent kcpsm3 is port ( address : out std_logic_vector(9 downto 0); instruction : in std_logic_vector(17 downto 0); port_id : out std_logic_vector(7 downto 0); write_strobe : out std_logic; out_port : out std_logic_vector(7 downto 0); read_strobe : out std_logic; in_port : in std_logic_vector(7 downto 0); interrupt : in std_logic; interrupt_ack : out std_logic; reset : in std_logic; clk : in std_logic); end component; component picoled is port ( address : in std_logic_vector(9 downto 0); instruction : out std_logic_vector(17 downto 0); clk : in std_logic); end component;signal address : std_logic_vector(9 downto 0);signal instruction : std_logic_vector(17 downto 0);signal port_id : std_logic_vector(7 downto 0);signal out_port : std_logic_vector(7 downto 0);signal in_port : std_logic_vector(7 downto 0);signal write_strobe : std_logic;signal read_strobe : std_logic;signal interrupt : std_logic :=0;signal interrupt_ack : std_logic;signal reset_r : std_logic;signal cnt: std_logic_vector(4 downto 0);signal clk_r: std_logic;beginprocessor: kcpsm3 port map( address = address, instruction = instruction, port_id = port_id, write_strobe = write_strobe, out_port = out_port, read_strobe = read_strobe, in_port = in_port, interrupt = interrupt, interrupt_ack = interrupt_ack, reset = reset_r, clk = clk); reset_r address, instruction = instruction, clk = clk);process(write_strobe,out_port)beginif write_strobe=1 thenled=out_port;end if;end process;end behavioral;2, 把kcpsm3.vhd,还有picoled.vhd添加进工程,然后结合自己的开发板或者学习板,就可以综合实现,下载与调试了。写在最后:picoblaze是xilinx官方提供的三大嵌入式ip核之一,掌握它的开发流程,只是fpga嵌入式学习的第一步,对于刚接触fpga,或者刚接触fpga嵌入式的朋友,一定要在你自己的板子上调试通过,如果手上还没有开发板,可以到我朋友的淘宝网店看一下:/?search=y。他的学习板,功能可能无法用强大来形容,但非常适合初学者,尤其是在校学生,原

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论