Leon2處理器IP核技術(二)
“二進程”的編碼風格的模型可用圖4來表示。它基本與狀態(tài)機模型一樣,只是組合進程部分,采用變量形式進行結(jié)構(gòu)化順序編碼,來完成下一個時鐘周期的輸出和下一個狀態(tài)進行計算。時序進程部分是在時鐘的作用下,完成狀態(tài)轉(zhuǎn)換和輸出驅(qū)動。
3 軟硬件開發(fā)
3.1 VHDL
Leon2除了VHDL源代碼外,還提供了頂層Makefile文件、Modelsim仿真器支持文件、Boot-monitor文件、VHDL測試文件、綜合支持文件、Leon2調(diào)試用的C語言源文件等,便于對Leon2進行硬件和軟件方面的測試。
Leon2的內(nèi)部結(jié)構(gòu)可以通過模塊配置,使處理器具有不同的功能結(jié)構(gòu)。配置的方式可以采用tkconfig腳本進行圖形界面的方式進行,也可以直接對包文件device.vhd進行手動編輯來完成。配置主要是通過修改一系列的常數(shù)的聲明值來實現(xiàn)的。Leon2中許多模塊功能是可以進行配置的,這些配置信息是在包文件Target.vhd里進行聲明的。
Leon2可配置的內(nèi)容包括:①所采用的綜合工具和目標庫。綜合的技術可以是:Synplify、Synopsys-DC、Synopsys-FC2、XST和Leonardo等,目標技術可以是Xilinx的Virtex和Virtex II(FPGA)、Atmel的ATC35和ACT25(0.35/0.25μm CMOS)、TSMC 0.25μm CMOS、UMC 0.25/0.18μm CMOS、以及Actel的ProAsie(FPGA)和Axeellerator(反熔絲FPGA)等。②整數(shù)單元IU的寄存器窗口、乘法器、除法器、快速跳轉(zhuǎn)和觀察點的配置。寄存器窗口可以設置為2~32個,但為了同交叉編譯器LECCS兼容必須配置為8個窗口,乘法器可以配置成迭交、16×16加流水寄存器、16×16、32×8.32×16、32×32等形式。③浮點處理單元FPU的配置,可以配置為使用meiko或是lth兩種浮點處理器之一。④Cache。Cache組的有效大小可以配置為1~64 KB,但必須是2的次冪,每行可以設置成4~8個字,組的數(shù)量可以是1~4。替換算法可以是隨機、LRR或LRU,并且指令Cache和數(shù)據(jù)Cache是獨立進行配置的。⑤存儲器控制器。⑥D(zhuǎn)ebug配置。⑦片上外設的配置,如中斷控制器、看門狗等。⑧引導配置。⑨AMHB總線的相關配置。⑩PCI配置。
Leon2有四個可綜合的頂層文件;
◇leon.vhd一一標準的Leon2頂層;
◇leon_pci.vhd一一標準的Leon2加上PCI接口構(gòu)成的頂層;
◇leon_eth.vhd一一標準的Leon2加上一個10/100 Mbps以太網(wǎng)MAC構(gòu)成的頂層;
◇leon_etn_pci.vhd一一標準的Leon2加上一個10/100 Mbps以太網(wǎng)MAC以及PCI接口構(gòu)成的頂層。
在上述四個頂層的下面,可以很容易地集成用戶自己的功能模塊。
評論