設計PicoBlaze處理器
發(fā)布時間:2008/9/19 0:00:00 訪問次數(shù):738
本節(jié)介紹的picoblaze處理器設計流程和設計范例采用低成本高性能的spartan-3e器件和spartan-3e starterkit演示板。
調試完成picoblaze處理器模塊,經過編譯可以作為一個rom的初始化文件與fpga的bit文件下載到fpga的配置器件中,picoblaze的系統(tǒng)構成如圖1所示。設計者可以通過xilinx網站下載xapp213、xapp387、xapp627文檔和kcpsm3編譯工具來修改和編譯匯編程序。
圖1 picoblaze處理器的系統(tǒng)構成
在設計的實現(xiàn)過程中將會生成一些中間文件,其用途分別如下:
(1) kcpsm3,exe:picoblaze匯編編譯系統(tǒng)執(zhí)行文件。
(2) <filename>,psm:設計者通過文本編輯器產生的匯編源文件。
(3) <filename>.vhd和<filename>,v:由匯編編譯器生成的用于程序存儲器的vhdl和verilog格式文件,適用于綜合和仿真。
(4) <filename>。coe:編譯器產生的rom初始化文件,俗稱“黑盒”文件。
(5) <filename>,fmt:為整理后的匯編原始文件,為方便閱讀,在文件中提供一些注釋、行號及匯編助記符等。
(6)<filename>。hex和<filename>,doc:用于其他用途的十六進制和二進制文件。
(7) <filename)。log、constants。txt和labels,txt:編譯器產生的報告文件。
設計者在命令行系統(tǒng)(dos操作系統(tǒng))環(huán)境下運行kcpsm3,exe文件,并輸入設計者編寫的匯編源文件<filename>.psm后,匯編編譯系統(tǒng)將會自動生成如圖2所示的相應文件。
圖2 匯編編譯系統(tǒng)自動生成的相應文件
從圖中看出,picoblaze交叉匯編器具有完好的歸檔資料,而且picoblaze設計文件中也提供了匯編代碼與vhdl之間的直接對應關系。編譯器用ansi-c編寫,并在微軟的匯編器上匯編。該交叉匯編器具有高度的移植性,支持多種輸出文件類型。例如,它能產生二進制輸出文件,可以英特爾公司的hex格式裝載進外部eprom,也能產生適合vhdl仿真器使用的主要建模文件。設計者可以用高速仿真功能立即分析匯編器產生的代碼,從而了解代碼的功能和效率。然后將代碼下載到fpga/cpld設計套件中,就可以看到它們按期望的值正確工作。
為了幫助和方便設計者編寫程序,該編譯系統(tǒng)支持如下3個匯編程序說明命令(即宏命令):
(1) constant:助記符指定(賦值)一個8位立即數(shù)。
(2) namereg:為寄存器命名一個新的名稱。
(3) address:強制程序從新設置的地址開始執(zhí)行。
以下是一段簡單的移位處理程序,用于說明匯編指令的語法結構:
歡迎轉載,信息來自維庫電子市場網(www.dzsc.com)
本節(jié)介紹的picoblaze處理器設計流程和設計范例采用低成本高性能的spartan-3e器件和spartan-3e starterkit演示板。
調試完成picoblaze處理器模塊,經過編譯可以作為一個rom的初始化文件與fpga的bit文件下載到fpga的配置器件中,picoblaze的系統(tǒng)構成如圖1所示。設計者可以通過xilinx網站下載xapp213、xapp387、xapp627文檔和kcpsm3編譯工具來修改和編譯匯編程序。
圖1 picoblaze處理器的系統(tǒng)構成
在設計的實現(xiàn)過程中將會生成一些中間文件,其用途分別如下:
(1) kcpsm3,exe:picoblaze匯編編譯系統(tǒng)執(zhí)行文件。
(2) <filename>,psm:設計者通過文本編輯器產生的匯編源文件。
(3) <filename>.vhd和<filename>,v:由匯編編譯器生成的用于程序存儲器的vhdl和verilog格式文件,適用于綜合和仿真。
(4) <filename>。coe:編譯器產生的rom初始化文件,俗稱“黑盒”文件。
(5) <filename>,fmt:為整理后的匯編原始文件,為方便閱讀,在文件中提供一些注釋、行號及匯編助記符等。
(6)<filename>。hex和<filename>,doc:用于其他用途的十六進制和二進制文件。
(7) <filename)。log、constants。txt和labels,txt:編譯器產生的報告文件。
設計者在命令行系統(tǒng)(dos操作系統(tǒng))環(huán)境下運行kcpsm3,exe文件,并輸入設計者編寫的匯編源文件<filename>.psm后,匯編編譯系統(tǒng)將會自動生成如圖2所示的相應文件。
圖2 匯編編譯系統(tǒng)自動生成的相應文件
從圖中看出,picoblaze交叉匯編器具有完好的歸檔資料,而且picoblaze設計文件中也提供了匯編代碼與vhdl之間的直接對應關系。編譯器用ansi-c編寫,并在微軟的匯編器上匯編。該交叉匯編器具有高度的移植性,支持多種輸出文件類型。例如,它能產生二進制輸出文件,可以英特爾公司的hex格式裝載進外部eprom,也能產生適合vhdl仿真器使用的主要建模文件。設計者可以用高速仿真功能立即分析匯編器產生的代碼,從而了解代碼的功能和效率。然后將代碼下載到fpga/cpld設計套件中,就可以看到它們按期望的值正確工作。
為了幫助和方便設計者編寫程序,該編譯系統(tǒng)支持如下3個匯編程序說明命令(即宏命令):
(1) constant:助記符指定(賦值)一個8位立即數(shù)。
(2) namereg:為寄存器命名一個新的名稱。
(3) address:強制程序從新設置的地址開始執(zhí)行。
以下是一段簡單的移位處理程序,用于說明匯編指令的語法結構:
歡迎轉載,信息來自維庫電子市場網(www.dzsc.com)