選擇lattice的Crosslink器件,大多是因為它功耗比較低、價格便宜,開發也比較簡單,相對來說更容易上手。大部分用在手機屏,攝像頭模組和平板方面。
Crosslink的開發工具是Diamond,內部邏輯資源lut大概有6k,並且有兩個MIPI DPHY硬核,所以用戶經常用它做MIPI接口橋接芯片。
硬件設計
Crosslink硬件設計,個人覺得有幾份資料是必看的,我現在羅列出來供大家參考。
(1)Crosslink數據手冊、Hardware Checklist、pinout信息等。資料下載鏈接為
http://www.latticesemi.com/en/Products/FPGAandCPLD/CrossLink
數據手冊:簡單介紹器件基本特性,比如邏輯資源、管腳數量、管腳速率、bank電壓等等。
Hardware Checklist:用戶畫完原理圖之后,再次通過這份文檔檢查一下,如果沒有發現問題,那么證明原理圖起碼沒有引腳分配之外的問題。
除此之外,官網還有一些PCB布局布線的一些推薦文檔,原理圖庫,參考設計等,非常有用。
(2)crosslink開發板
在用戶開發之前,如果能夠得到一塊開發板,那無疑非常有用,這不僅可以幫助我們快速熟悉器件軟硬件環境,而且還可以作為一個硬件工程師開發的良好范本。上述鏈接pdf文檔后面,有Crosslink的參考原理圖,新用戶可以借助它快速繪制原理圖。
除了上述官網提供的資料以外,Lattice Crosslink還經常會遇到管腳分配的問題;
該開發板比lattice官方開發板降低了設計難度。把基本上IO引腳做了等長,MIPI引腳引出。板上可以通過選擇不同bank的電壓。
Crosslink的開發工具是Diamond,內部邏輯資源lut大概有6k,並且有兩個MIPI DPHY硬核,所以用戶經常用它做MIPI接口橋接芯片。
硬件設計
Crosslink硬件設計,個人覺得有幾份資料是必看的,我現在羅列出來供大家參考。
(1)Crosslink數據手冊、Hardware Checklist、pinout信息等。資料下載鏈接為
http://www.latticesemi.com/en/Products/FPGAandCPLD/CrossLink
數據手冊:簡單介紹器件基本特性,比如邏輯資源、管腳數量、管腳速率、bank電壓等等。
Hardware Checklist:用戶畫完原理圖之后,再次通過這份文檔檢查一下,如果沒有發現問題,那么證明原理圖起碼沒有引腳分配之外的問題。
除此之外,官網還有一些PCB布局布線的一些推薦文檔,原理圖庫,參考設計等,非常有用。
(2)crosslink開發板
在用戶開發之前,如果能夠得到一塊開發板,那無疑非常有用,這不僅可以幫助我們快速熟悉器件軟硬件環境,而且還可以作為一個硬件工程師開發的良好范本。上述鏈接pdf文檔后面,有Crosslink的參考原理圖,新用戶可以借助它快速繪制原理圖。
除了上述官網提供的資料以外,Lattice Crosslink還經常會遇到管腳分配的問題;
該開發板比lattice官方開發板降低了設計難度。把基本上IO引腳做了等長,MIPI引腳引出。板上可以通過選擇不同bank的電壓。

(1) Crosslink有兩個MIPI硬核,如果用戶只用一個MIPI硬核,那么軟件會把管腳自動分配到DPHY0。Crosslink每個MIPI硬核有四個lane,如果用戶只用了一個lane,那么軟件會自動把管腳分配到lane0 。根據布線結果看映射什么地方。
也可以用約束語句,約束IP核生產的引腳在對應MIPI通道上。
(2) Crosslink下載方式有兩種,分別是IIC下載方式和SPI下載方式。軟件默認SPI下載方式,會自動分配引腳,用戶不用手動分配。
要注意有配置有兩種模式,一個外部spi-flash和內部nvcm。內部ncvm是一次性編程不能再次修改。要注意。
(3) Crosslink有些IP會使用到特殊引腳,用戶任意分配引腳會導致軟件編譯不了,出現錯誤。
除了上述問題之外,lattice管腳分配可能還會遇到一些問題,所以建議用戶在分配完引腳之后,做一下“管腳評估”,這樣就可以避免管腳分配錯誤帶來的問題。
軟件設計
Crosslink的代碼開發工具是lattice Diamond,關於這個工具如何使用,我已在另一篇文章簡單講過,在這里不再贅述。打開IP核生成界面,里面有很多Crosslink上能夠使用的IP核,並且每個IP核都有簡單介紹,非常方便。
也可以用約束語句,約束IP核生產的引腳在對應MIPI通道上。
(2) Crosslink下載方式有兩種,分別是IIC下載方式和SPI下載方式。軟件默認SPI下載方式,會自動分配引腳,用戶不用手動分配。
要注意有配置有兩種模式,一個外部spi-flash和內部nvcm。內部ncvm是一次性編程不能再次修改。要注意。
(3) Crosslink有些IP會使用到特殊引腳,用戶任意分配引腳會導致軟件編譯不了,出現錯誤。
除了上述問題之外,lattice管腳分配可能還會遇到一些問題,所以建議用戶在分配完引腳之后,做一下“管腳評估”,這樣就可以避免管腳分配錯誤帶來的問題。
軟件設計
Crosslink的代碼開發工具是lattice Diamond,關於這個工具如何使用,我已在另一篇文章簡單講過,在這里不再贅述。打開IP核生成界面,里面有很多Crosslink上能夠使用的IP核,並且每個IP核都有簡單介紹,非常方便。

關於Crosslink軟件部分,建立工程的流程和其他器件基本相同,我就不再展開寫了。這一塊我比較想讓大家知道的是,Crosslink軟件調試。
大家知道,Crosslink只有SPI和iic下載口,並沒有JTAG調試口。Lattice原意是用戶直接用他們生成好的IP,只需要分配好引腳即可完成開發,但是后續Crosslink IP核在使用的過程中有時會遇到問題,而且用戶有可能會在Crosslink上開發一些自己的代碼,經常會遇到需要調試代碼的狀況,所以后續lattice建議用戶在開發Crosslink過程中,把JTAG口預留出來。
首先我要說一下,我上面說的JTAG是指Crosslink用軟件模擬出來的JTAG,這個JTAG口不能用於下載,只能用來調試。
Crosslink 模擬JTAG調試步驟
(1)建立完整的Crosslink工程。
大家知道,Crosslink只有SPI和iic下載口,並沒有JTAG調試口。Lattice原意是用戶直接用他們生成好的IP,只需要分配好引腳即可完成開發,但是后續Crosslink IP核在使用的過程中有時會遇到問題,而且用戶有可能會在Crosslink上開發一些自己的代碼,經常會遇到需要調試代碼的狀況,所以后續lattice建議用戶在開發Crosslink過程中,把JTAG口預留出來。
首先我要說一下,我上面說的JTAG是指Crosslink用軟件模擬出來的JTAG,這個JTAG口不能用於下載,只能用來調試。
Crosslink 模擬JTAG調試步驟
(1)建立完整的Crosslink工程。
(2)點擊reveal insert按鈕,在工程中插入reveal analyzer,分配好采樣時鍾、觸發信號、采樣信號等,然后保存為.rvl文件。

(3)重新編譯工程。編譯好之后,打開Reports標簽頁下的Signal/Pad,查看Diamond軟件給JTAG分配的引腳。當然,用戶也可以分配好JTAG引腳之后再編譯,如果引腳分配不合理,Diamond就會給出錯誤報告。

(4)將編譯好的工程bit文件通過SPI或者IIC口下載到Crosslink,然后連接虛擬JTAG引腳,打開Reveal Analyzer,運行,進行調試分析。