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