原创 簡化版任務調度器的實現和應用

背景 有別於“裸奔”的程序,類似於FreeRTOS或者Uc/OS II之類的實時系統都必備一個強大的任務調度器,基於此用戶可以實現各種“亂七八糟”或者“豐富多彩”的功能。而“裸奔”的用戶似乎與只能在main函數中,或者中斷函數中苦

原创 FPGA設計-時序約束

最近都在做ARM的方面學習工作,感覺有必要記錄下來之前FPGA的工作,好記性也不如爛筆頭;說起FPGA,斷斷續續的也用過4,5年了,中間接觸過DSP,就是因爲沒有記錄文檔資料,目前幾乎快忘光了;FPGA方面的心得,將會由以下幾個方

原创 bitflip

原文鏈接:https://blog.csdn.net/chi_wy/article/details/84028316 cpu中(cache或寄存器)或DDR中或flash中的 一個或者多個bi

原创 是時候放棄Word了

轉載 今天這個日子應當被我自己記住,經過4年多的轉化,我現在已經完全拋棄了伴我成長多年的Office 套件。全面轉向用Latex,Markdown和restructuredText編輯文檔,幻燈片和畫圖。 15年前,當我還是一個小學生的時

原创 異步FIFO

當寫指針超過最後的FIFO地址時,寫指針將使未使用的MSB(Most Significant Bit的縮寫,指最高有效位)遞增,同時將其餘的位設置爲零,如圖1所示(FIFO已經迴環並翻轉指針的MSB位)。 如果兩個指針的MSB相同,則意味

原创 binary complement

To change the binary complement to be signed decimal data. In RTL, 對於負數取反加1 In C or MATLAB,  對於負數,直接減最大值。 Ex, 14 bits s

原创 VCS filelist 文件格式

VCS filelist 文件格式 VCS在運行仿真一般都會加仿真參數 –f filelist,filelist 是包含其他的仿真參數和整個工程的文件列表。具體格式如下: //file list format, just for exam

原创 FFT window

在頻域中顯示信號有助於發現信號中的干擾、噪聲和抖動。 信號中如果包含非整數個週期,會發生頻率泄漏。可通過加窗來改善該情況。 數字化儀採集到的有限序列的邊界會呈現不連續性。加窗可減少這些不連續部分的幅值。 沒有窗叫做統一窗或長方形窗,因爲加

原创 container_of

//獲取結構體成員相對於結構體的偏移  #define offsetof(TYPE,MEMBER) ((int) &((TYPE *)0)->MEMBER)   //通過獲取結構體中的某個成員,反推該結構體的指針  #define con

原创 C syntax, int 4 bytes

int a;  sizeof(a)=4; char a; sizeof(a)=1; float a; sizeof(a)=4; double a; sizeof(a)=8; long a; sizeof(a)=4; long int  a

原创 void類型和void* 的用法

void類型和void* 的用法 C語言中的void  和 void * 總結 1、void的作用   c語言中,void爲“不確定類型”,不可以用void來聲明變量。如:void a = 10;如果出現這樣語句編譯器會報錯:variab

原创 detect the number of 1 in the binary format of a integer data

for( i = 0; i < 32; i ++ ) begin     if ( (din >> i) & 0x1) // right shift and detect the lsb         cnt = cnt + 1; en

原创 ARM

由於沒有自己的專屬處理器架構(Intel、AMD及IBM同爲美國公司,他們掌握核心專利的x86、POWER架構可以理解爲美國的專屬產品),中國、日本及歐盟無一例外的將目光投向了更加開放的ARM架構。 ARM仍舊是平臺生態最好、產品最完善的

原创 What Is Hardware-In-The-Loop Simulation?

(reprinted) https://www.mathworks.com/help/physmod/simscape/ug/what-is-hardware-in-the-loop-simulation.html Hardware-in

原创 有符號數的二進制數右移

把一個二進制數右移N位,規則爲: 除符號位外,全部右移N位, 如果數字是一個無符號數值,則用0填補最左邊的N位, 如果數字是一個有符號數值,則用1填補最左邊的N位, 也就是說如果數字原先是一個正數,則右移之後在最左邊補N個0;如果數字原先