Profile cover photo
Profile photo
林裕盛
71 followers -
我不宅
我不宅

71 followers
About
Posts

Post has attachment
SystemVerilog 裡的 UVM 驗證之概念以及 Cocotb (二)
前一篇文章中說明了用 trace-based simulation 會出現的問題 本篇會說明是怎麼從 trace-based simulation 變成 UVM 的 以及說明 UVM 的核心的想法 從前面的 trace-based 的驗證轉換到 UVM 我個人的理解是多了這兩種變化 Scoreboard 的概念 資料是程式產生的結果 下面這張圖片是從 verificationacademy.com 取出來的 搜尋 SystemVerilog UVM 的前幾張圖片就有了 比較一下上一篇中的模擬方式(如下圖) 可...

Post has attachment
SystemVerilog 裡的 UVM 驗證之概念以及 Cocotb (一)
SystemVerilog Universal Verification Methodology 是用來驗證硬體的一種手段 本系列文將會說明 SystemVerilog UVM 的結構以及前因後果 注意這邊並不會講解如何 SystemVerilog UVM 怎麼使用 而是會介紹一個 Opensourced 類似的工具 - Cocotb (COroutine based COsimulation TestBench) https://github.com/potentialventures/cocotb 我們先...

Post has attachment
Linux 系統意外關機之後 SSD 分割區讀不到的解決方法(?)
今天不小心踢到 Linux 電腦的電源 不知道是不是因為是 SSD 所以系統分割區的資料就不見了 一開機只出現 grub rescue prompt 幸好電腦 HDD 裡面有以前裝的 Linux 所以可以從那邊開機再說 grub prompt 開機的步驟網路上找得到 set root=(hd?,msdos?)
set prefix=/boot/grub
insmod normal
normal 如果不知道是用來開機的硬碟要選哪個的話 可以用 grub 的 ls 來看 ls
ls (hd?,msdos?)/ 成...

Post has attachment
Archlinux 安裝紀錄
因為一直覺得 ubuntu 系列的軟體有點舊 這幾天把比較不常用的電腦換成 archlinux+KDE 5 看看 發現蠻好用的,速度好像也比較快(不知道為什麼)? 分割磁區 因為我本來都有系統在上面所以跳過 安裝(要網路) pacstrap /mnt base
genfstab -p /mnt >> /mnt/etc/fstab 如果是 SSD 的話可以在 fstab 的磁區對應的選項加上 noatime,nodiratime 繼續安裝,設定一下地區資訊 arch-chroot /mnt
ln -s /usr...

Post has attachment
用 vim quickfix 檢視 nLint 的錯誤訊息
vim quickfix 可以用在快速跳到編譯出錯的位置 當我們在 vim 下 :make 命令之後可以透過 :copen 檢視編譯的錯誤 並且在其中移動 就像大部分 IDE 一樣 nLint 是檢查 verilog 語法、coding style 錯誤最常用的工具 可以告訴你在那邊出現了不能合成的 verilog 這邊就不贅述了 一般來說可以 nLint 用 GUI 打開他達成跳躍功能 然而 EDA tool 的介面一般很醜,功能也很陽春 所以可以用 command line 模式 輸出到檔案(-out e...

Post has attachment
Systemverilog interface/modport 使用心得
Systemverilog 裡面引入了 interface 試著把最基礎的部份引入正在寫的 code 裡面 並且整理了一些使用心得 interface MemoryInterface();
parameter DAT_SIZ = 8;
parameter ADR_SIZ = 4;
logic [DAT_SIZ-1:0] addr;
logic [ADR_SIZ-1:0] data;
logic en;
modport RI(input addr, output data,...

Post has attachment
閱讀筆記:GPU的指令運算細節
最近看到了一篇 Nervana 發表的文章 他們宣稱可以讓 CUDA 矩陣乘法運算速度在 Maxwell 上達到理論上限的 90% 以上 裡面除了用到 register blocking(從別的 paper 借來用的技巧) 也講解了很多一般不太可能知道的 NVIDIA GPU 運作細節 讓人不禁懷疑作者是不是從 NVIDIA 的相關部門拿到資料 知道這些細節之後,就可能產生出高效率的矩陣乘法 CUDA kernel Latency 在 pipeline 的系統中一定有 latency 就是一個指令下去之後有多...

Post has attachment
東京四日行(二)
從日本回來已經快一個月了 繼續把剩下的東西補齊 這邊紀錄一下有去的景點 基本上都是東京市區搭地鐵好到的 淺草 & 天空樹 這兩個點都在東北方而且交通上蠻近的 所以一般好像這兩個景點都會連續安排 首先搭淺草線一出站馬上就是大大的寫著「雷門」的燈籠 是觀光客一定要去的基本景點,因此照片中也充滿了觀光客 裡面有幾條商店街 比較知名的商品好像是仙貝(?) 不過買了一個來吃之後,覺得奈良的比較好吃 當天因為下大雨所以沒有全部走完 估計把整區走完應該在一個半小時左右吧 繼續搭淺草線地鐵很快可以到 skytree skyt...

Post has attachment
東京四日行(一)
今年過年期間去日本旅遊 在東京跟北海道各待了四天 趁記憶還新鮮的時候 先來紀錄一下東京的交通方式 說不定以後有機會用到 景點、食物的紀錄稍晚再說好了 東京本身的地鐵系統非常複雜,在官網有路線圖可以下載 http://www.tokyometro.jp/station/index.html 可以下載「簡易版路線図」放在身邊備用 不過各個地鐵站都可以拿到小冊子就是了 當然由於他這麼複雜 因此也能藉由地鐵到達大部分的地方 自助時配合 X 日券使用是個非常好的交通手段 鐵道運輸系統的區分 就像台灣有捷運跟台鐵一樣,日...

Post has attachment
Neural network 的 forward/backward propagation (二)
修改係數 W 的流程前一篇中講了 forward propagation 的目的有二 testing 階段用來猜出 label training 階段看猜出的 label 離答案多遠,藉此可以在 backward propagation 計算係數矩陣 W 要作什麼修改 這邊說明修改係數矩陣 W 的流程 修改係數矩陣 W 是透過微積分的 gradient descent 達成 目標是希望得到的 error,也就是 cost function E 越小 簡單的說如果某個值 w 變大,E 會變小的話 那我就應該把 ...
Wait while more posts are being loaded