繼承 數電邏輯門 邏輯抽象

2021-10-01 03:53:40 字數 1502 閱讀 6107

使用c++實現數位電路繼承體系,這裡是基本邏輯抽象,用於描述邏輯門的基本特徵和實現的基本結構

/*

功能: 數電邏輯門抽象,定義高低電平符號 1:_high(true),0: _low(false)

檔案:logic_gates

結構:logic_gates.h包含所有型別門的標頭檔案,具體抽象數電元件在各自原始檔中實現

*////2019/11/20 完成與門庫的基類設計. 下一步,完成門的基類標頭檔案布局

///2019/11/21 完成基類布局

///2019/11/20 重構繼承體系,減少冗餘**(除input外的的和均從基類呼叫)

///2019/11/26 完成或門-意識到與非門預設輸入的區別(底部建議第6條)

#ifndef logic_gates_h

#define logic_gates_h

const

bool _high=

true

;///高電平

const

bool _low=

false

;///低電平

///邏輯門基本抽象類

/* 說明:

類中處理的變數為bool型邏輯變數 - 對應高低電平的0-low/1-high

基本結構:

輸入處理:input() - 將輸入值寫入: _inputa、b、c...

邏輯處理:connection() - 根據邏輯門功能對輸入進行處理,把處理結果寫到: _output中

輸出處理: output() - 輸出邏輯結果_output

*/class

logic_gates

;#endif

// logic_gates_h

/* 建議:

1、建構函式使用委託以簡化初始值列表

2、輸入處理函式使用const bool& 型別的引數

3、使用_high和_low 初始化4、使用_high和_low 描述高低電平

5、派生類委託基類建構函式初始化繼承成員

6、邏輯門留置預設輸入項,為無輸入的埠賦值(與門_high,或門_low)

*/

#include

"logic_gates.h"

logic_gates::

logic_gates()

:_inputs

(_high)

,_output

(_high)

logic_gates::

~logic_gates()

void logic_gates::

input

(bool

& inputs)

void logic_gates::

connection()

bool logic_gates::

output()

與門實現:

邏輯與抽象

我覺得程式設計師最重要的兩個能力就是邏輯能力與抽象能力。就目前而言,我覺得邏輯能力的代表就是演算法能力。而抽象能力就是工程能力,就是如何通過合適的抽象來更簡便的建造乙個複雜的軟體系統。其實,我覺得計算機系統中的分層思想就是一種抽象思想,把乙個複雜的計算過程分為幾個層次,每個層次專注於本層的計算邏輯,...

從RTL到邏輯門的邏輯綜合過程

從rtl到邏輯門的綜合過程由邏輯綜合工具自動完成,其中包括以下幾個步驟 rtl描述 設計者在高層次上使用rtl結構描述設計。設計者在功能驗證上耗費一定的時間,以確保rtl描述的功能正確無誤。功能驗證完成後,才能把rtl輸入到邏輯綜合工具。翻譯 rtl描述被邏輯綜合工具轉換為乙個未經優化的內部中間表示...

應用邏輯(業務 商業邏輯)抽象出來

那東西主要就是將應用邏輯 業務 商業邏輯 抽象出來,與前端表現介面分開,從而體現三層 多層結構的易拓展 易維護性的特性。業務邏輯又分為業務規則和業務外觀 分開設計的目的是提高應用程式的可伸縮性和可維護性。如果你的應用程式在執行一段時間後,需要修改某些業務規則,你不需要對其它部分做大量的改動,如果你的...