FPGA fancier

FPGA 愛好者天地
現在的時間是 九月 9th, 2010, 9:26 am

所有顯示的時間為 UTC + 8 小時




   [ 6 篇文章 ] 
發表人 內容
 文章主題 : HT-Lab 的 CPU86
文章發表於 : 三月 4th, 2006, 11:40 pm 
專家級
頭像

註冊時間: 六月 14th, 2005, 4:07 pm
文章: 88
來自: 台灣
最近 '閒閒沒事' 去 HT-Lab (http://www.ht-lab.com) Download CPU86 回來玩玩
CPU86 是 8088/86 指令相容的 VHDL CPU Core
最重要的是 "GNU License" !!! (HT-Lab 萬歲!!)

首先用 Modelsim 模擬看看.... 嗯 一切正常...
那用 NC-VHDL 跑看看.... 咦..?? 跑不起來.... 算了先放棄 以後再看... :<

接著 拿出塵封已久 的 Altera NIOS Development Kit Cyclone Board 出來
看看 CPU86 能不能在 Altera Cyclone 板上跑起來
原來的 top_struct.vhd 很容易就修改完畢
(主要是修改 RAM 的部分, 以及 UART BAUDRATE 的計算)

直接拿 Quartus 來跑跑看 ....
ok! 很順利的跑完了...
可是 clk 只能到 37 MHz... 有點不滿意!!

手上只有 50MHz 的 osc
又懶的去用 PLL 降頻

管他的... 直接用 50MHz 硬上!...
啊! ... 果然是不會動....

好吧... 加個 PLL 降到 25MHz (記得 要修改 UART BAUDRATE 的計算 )
YES! Bootstrap 的提示符號出現了...
把 MON88 Upload 上去跑跑看....
咦..?? Upload 成功 卻沒反應.... 奇怪??
看了老半天 終於發現是 bootstrap.asm 程式有問題!! (HT-Lab 留一手!!)
原來 bootstrap 將 程式 UPLOAD 到 RAM (0000:0000) 後
就 idle, 不是應該要 jump 到程式進入點嗎? 不然UPLOAD 程式上去要幹嘛...

修改好 bootstrap.asm 後用 A86 重新組譯
重跑一次...
YES! MON88 跑起來了....
代碼:
MON88 8088/8086 Monitor ver 0.1
Copyright WWW.HT-LAB.COM 2005
All rights reserved.

Cmd>h
Commands
DM {from} {to}        : Dump Memory, example D 0000 0100
FM {from} {to} {Byte} : Fill Memory, example FM 0200 020F 5A
R                     : Display Registers
CR {reg}              : Change Registers, example CR SP=1234
L                     : Load Intel hexfile
U  {from} {to}        : Un(dis)assemble range, example U 0120 0128
G  {Address}          : Execute, example G 0100
T  {Address}          : Trace from address, example T 0100
N                     : Trace Next
BP {bp} {Address}     : Set BreakPoint, bp=0..7, example BP 0 2344
CB {bp}               : Clear Breakpoint, example BS 7 8732
DB                    : Display Breakpoints
BS {Word}             : Change Base Segment Address, example BS 0340
WB {Address} {Byte}   : Write Byte to address, example WB 1234 5A
WW {Address} {Word}   : Write Word to address
IB {Port}             : Read Byte from Input port, example IB 03F8
IW {Port}             : Read Word from Input port
OB {Port} {Byte}      : Write Byte to Output port, example OB 03F8 3A
OW {Port} {Word}      : Write Word to Output port, example OB 03F8 3A5A
Q                     : Restart Monitor
Cmd>



嗯.. 口袋裡又多了一個 cpu 可以用了
現在還不知道要拿CPU86作什麼?? 以後再說....


回頂端
   
 
 文章主題 :
文章發表於 : 三月 5th, 2006, 6:11 pm 
Site Admin
頭像

註冊時間: 六月 3rd, 2005, 1:17 am
文章: 154
呵呵~~
乾脆拿他 + FPGA board 作一台 和IBM PC-XP 相容的電腦.
玩玩看DOS 3.3 能不能跑起來.

好懷念以前玩IBM-PC XP 時的日子喔..那時的PC 時脈只要4.77MHz 喔. RAM 只要640KB 就可以玩好多東西了喔.


回頂端
   
 
 文章主題 :
文章發表於 : 三月 5th, 2006, 10:39 pm 
專家級
頭像

註冊時間: 六月 14th, 2005, 4:07 pm
文章: 88
來自: 台灣
試著將 PLL 輸出提高到 45 MHz
UART BAUDRATE 也提高到 115200 bps
Quartus 跑完回報 fmax = 46.9 MHz
Download 到版子上跑.....
嗯 .... 一切正常 (看來要跑到50MHz 有點難...)


回頂端
   
 
 文章主題 :
文章發表於 : 三月 26th, 2006, 4:07 pm 
專家級
頭像

註冊時間: 六月 14th, 2005, 4:07 pm
文章: 88
來自: 台灣
這幾天又 '閒閒沒事' 跟朋友借了一塊 FPGA Board -- Altera DE2

圖檔

這是一塊相當好的 FPGA 發展版, 不管是自學或者是用來發展產品都相當不錯!!

我又將 CPU86 Porting 到 DE2 上
主要的工作只是改寫SRAM I/F 成 16-bit

過程很順利 一次就 OK! 工作頻率 = 50MHz (Timing Report: fmax = 50.53MHz)
(DE2的文件寫的很清楚, 友晶科技 的東西品質很好!!)

不過 UART 部分有點小問題:
115200bps 似乎不是很穩定
降到 38400 就沒什麼問題了.....


回頂端
   
 
 文章主題 :
文章發表於 : 三月 29th, 2006, 4:01 pm 
Site Admin
頭像

註冊時間: 六月 3rd, 2005, 1:17 am
文章: 154
我拿到DE2 這麼久, 最近才開使用它.
之前都一直在用Altera NIOS development Kits(cyclone edition) 如下圖:
圖檔

說真的DE2 真的不錯, 只可惜他的SDRAM 只有16bits 的寬度,
和Altera NIOS development kits 的SDRAM(32bits wdith)比起來, NIOS II 跑起來的速度, 還是有差一點.


回頂端
   
 
 文章主題 :
文章發表於 : 四月 10th, 2007, 2:16 pm 
新進人士

註冊時間: 七月 2nd, 2006, 5:32 pm
文章: 1
我也有块DE2的板字, 楼主可以把你修改的文件放上来
我试试


回頂端
   
 
顯示文章 :  排序  
   [ 6 篇文章 ] 

所有顯示的時間為 UTC + 8 小時


誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯文章
不能 在這個版面刪除文章
不能 在這個版面上傳附加檔案

搜尋:
前往 :  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
正體中文語系由 竹貓星球 維護製作