原创 用verilog實現串行信號轉8bit並行信號

串行信號轉並行信號即爲解串器(deserialize)。 輸入信號有時鐘信號clk,復位信號rst和串行數據輸入信號din。 輸出信號爲8bit並行信號dout。 每經過8個時鐘週期,便把收到的8個串行信號合成並行信號並輸出,等下8個時鐘

原创 用verilog實現異步fifo

本文實現了異步FIFO 代碼思路參考了博客 https://blog.csdn.net/u014070258/article/details/90052281  之後可能會學習一下怎麼利用狀態機實現FIFO `define FIFO_D

原创 用verilog實現異步復位、同步釋放電路

相關重要概念:建立時間,保持時間;同步時序,異步時序;亞穩態; 時序電路里面需要復位,異步復位相比於同步復位最大的優點就是可以節約資源。 但是異步復位在上升沿時如果同時遇到時鐘的上升沿,會不滿足建立時間和保持時間的要求,從而使電路進入亞穩

原创 用verilog實現加法器

用verilog實現加法器   加法器是組合邏輯電路中的常見器件,瞭解其結構很有必要。 解決加法問題的根本是解決進位問題,解決進位問題的根本是理解加法豎式。比如計算二進制加法 1001(reg[3:0] in1) + 1101(reg[3

原创 基於verilog的數字頻率計

數字頻率計  此設計是我在東南大學大三短學期數字系統課程設計的課題。(如果有學弟學妹看到這篇文章,希望可以給你們提供一定的幫助,但也希望別直接controlc,controlv) 同時,本文中的代碼因爲經過再編輯,可能某些功能會有錯誤,敬

原创 通過狀態機實現序列檢測

如何實現對某一序列的檢測?當序列中出現‘1101’時,輸出‘1’,其餘情況輸出‘0’。 通過有限狀態機可以實現此功能。 FSM(finite-state machine)是有限狀態機,是指狀態數爲有限個的狀態機。 本題目中的待檢測序列有4

原创 c、c++求a的n次方(a是個位0~9)

首先介紹一下基礎的,關於數據類型: 其中,整型的數據大小爲4字節,32比特位,能表示的數的範圍是 -2147483648 ~ +2147483647;而2的30次方就高達 1073741824,用正常計算方法得到的結果如下 故要想得

原创 高精度加法和乘法的c++實現

上一篇用c寫了高精度加法的計算,總的來說,從底層寫起的話,對於不是很繁瑣的代碼,面向過程還是比較方便的。但是當我打算計算高精度乘法的時候,發現計算過程要比加法麻煩的多,而且會反覆用到一些函數的調用,而且這裏面還會用到高精度加法的計算,於是

原创 c、c++關於質數||素數的求法

大一剛剛結束,回過頭髮現自己這一年太浪了,基本沒學什麼東西,所以下定決心從頭開始 那就說一下這最簡單又不簡單的質數問題吧 我們要求某個範圍內的所有質數,當然最基本最重要的方法就是除一個數取餘數在判斷是否爲0 一、最簡單的粗暴的窮舉法 #

原创 c語言求完全數

完全數:如果一個數恰好等於它的因子之和,則稱該數爲"完全數" 兩種方法自行比較吧,我直接貼代碼 #include<iostream> #include<time.h> #define max 100000//計算出max以內的所有完全

原创 高精度加法的c語言實現

本篇爲高精度加法的計算,接下來我還會去寫高精度乘法的計算 一、高精度運算的概念 高精度運算其實就是參與運算的數完全超出基本數據類型所能表示的範圍的運算(例如int型範圍就是 - 2147483648 ~+ 2147483647) 所以如