Atlys开发板FPGA Design Flow LAB3的KPSM3程序--参加年度达人
- UID
- 1023229
- 来自
- 中国
|
Atlys开发板FPGA Design Flow LAB3的KPSM3程序--参加年度达人
最近在使用Atlys开发板,简单地过了一下板子光盘上的程序。因为例子用到了PicoBlaze,而在这之前并没有接触过PicoBlaze的东西,所以一开始有畏难情绪。后来画了十几分钟读了一下PicoBlaze的用户手册和kcpsm3的指南,发现也没有那么难;而且PicoBlaze真的是非常简单。因为例程里有的东西并没有讲到,可能会对初学者造成不顺利,所以在此把缺失的部分补上,希望对后来者有用。
首先修改program.psm文件,用记事本或者写字板都可以打开。它是一个函数模版的性质,打开基本就是一目了然:
;================================================================
; Port address definitions...
;================================================================
CONSTANT switch_in , 00 ; Switch read port
CONSTANT leds_out , 01 ; LED write port
CONSTANT uart_data_rx , 02 ; UART receive read port
CONSTANT uart_data_tx , 03 ; UART transmit write port
CONSTANT data_present , 04 ; UART stat read port, lsb
CONSTANT 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)
PicoBlaze
PicoBlaze
program.psm
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
然后启用kpsm3编译程序进行编译。windows系统的开始--运行,输入cmd然后回车,切换到assemble对应的目录,如图所示:
然后回车,就可以生成program.v文件了;然后把它加入ISE的工程里面。这里需要注意的是kcpsm3是个dos程序,只能运行在32位程序。在我的64位win7下,虽然ISE可以原生支持,但是kcpsm3这个程序不能在64位运行,幸亏我还有虚拟PC。 |
|
|
|
|
|