Atlys开发板FPGA Design Flow LAB3的KPSM3程序

Atlys开发板FPGA Design Flow LAB3的KPSM3程序,第1张

最近在使用Atlys开发,简单地过了一下板子光盘上的程序。因为例子用到了PicoBlaze,而在这之前并没有接触过PicoBlaze的东西,所以一开始有畏难情绪。后来画了十几分钟读了一下PicoBlaze的用户手册和kcpsm3的指南,发现也没有那么难;而且PicoBlaze真的是非常简单。因为例程里有的东西并没有讲到,可能会对初学者造成不顺利,所以在此把缺失的部分补上,希望对后来者有用。
首先修改program.psm文件,用记事本或者写字板都可以打开。它是一个函数模版的性质,打开基本就是一目了然:
;================================================================; Port address definiTIons...;================================================================
CONSTANT switch_in        , 00    ; Switch read portCONSTANT leds_out         , 01    ; LED write portCONSTANT uart_data_rx     , 02    ; UART receive read portCONSTANT uart_data_tx     , 03    ; UART transmit write portCONSTANT data_present     , 04    ; UART stat read port, lsbCONSTANT buffer_full      , 05    ; UART stat read port, lsb
;================================================================; Useful constant declaraTIons...;================================================================
CONSTANT all_clear        , 00    ; define zero
CONSTANT ascii_NUL        , 00    ; ascii code (null character)
这里为了实现一个最简单的功能,即把switch的状态读到PicoBlaze的一个寄存器里面,再把该寄存器的内容写到LED端口上控制LED的状态;这是一个loopback测试程序。
用PicoBlaze,仅需要两行代码就可以了!
在刚才打开的program.psm的task初修改:
loop:             LOAD     s0, all_clear     ; zero out reg s0 (nop)      INPUT S0       , 00    ; Switch read port                  OUTPUT S0    , 01    ; LED write port                ; LAB TASK #1                ; Write code to read the switch state and                ; then write it to the LED control port.
端口定义里面,00是switch(拨码开关)端口对应的地址,s0是无等待寄存器,分号用来注释
 INPUT S0 , 00 ; Switch read port 把switch开关对应的状态读入s0寄存器
OUTPUT S0 , 01 ; LED write port把s0的状态再写入LED控制端口
然后启用kpsm3编译程序进行编译。windows系统的开始--运行,输入cmd然后回车,切换到assemble对应的目录,如图所示:
[[wysiwyg_imageupload:187:]]
然后回车,就可以生成program.v文件了;然后把它加入ISE的工程里面。这里需要注意的是kcpsm3是个dos程序,只能运行在32位程序。在我的64位win7下,虽然ISE可以原生支持,但是kcpsm3这个程序不能在64位运行,幸亏我还有虚拟PC。

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2582499.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-08
下一篇 2022-08-08

发表评论

登录后才能评论

评论列表(0条)

保存