顯示具有 SystemC 標籤的文章。 顯示所有文章
顯示具有 SystemC 標籤的文章。 顯示所有文章

2025年3月11日 星期二

*******【WSL教學】在Windows上執行Linux + VSCode

安裝WSL:

以管理員身份運行PowerShell來開啟此功能。要做到這一點,您可以在Windows搜索欄中輸入“PowerShell”,然後右鍵單擊Windows PowerShell,選擇“以管理員身份運行”。在PowerShell中,輸入以下指令以安裝WSL。

wsl --install

******systemc-3.0.1的安裝與Q&A

 安裝

1. Change to the top level directory (e.g., `systemc-3.0.1`)
2. export CXX=g++
3. ./config/bootstrap (??)
4. mkdir objdir
5. cd objdir
6. ../configure (../configure 'CXXFLAGS=-std=c++17') (../configure --prefix=/usr/local/systemc-3.0.1)
7. make
8. make check
9. make install
10. cd ..
11. rm -rf objdir

2024年4月1日 星期一

*****C++ fstream用法

ofstream是從內存到硬盤,ifstream是從硬盤到內存,其實所謂的流緩衝就是內存空間;

在C++中,有一個stream這個類,所有的I/O都以這個“流”類爲基礎的,包括我們要認識的文件I/O,stream這個類有兩個重要的運算符:

2024年3月19日 星期二

*******深入理解連結之Object file

 

目標文件格式 (Object file)


以文件的方式放在磁碟(Disk)中的 Object module 有三種形式

******編譯器運作流程介紹

 

編譯器做了什麼 ?

我們知道使用機器指令撰寫程式碼是非常麻煩的事情,也會使開發程式的效率不高,編譯器就是將來源碼(source code)翻譯成機器語言(object code)的一種工具。

*******程式運行的基本概念(預處理、編譯、組譯、鏈結)

 

編譯過程分解

2024年3月18日 星期一

2024年3月15日 星期五

********SystemC--SC_HAS_PROCESS

SC_HAS_PROCESS是systemc 2.0引入的,其僅接受一個參數,即module的name

和SC_STOR進行比較,兩者的定義如下

***********SystemC--建構子:SC_CTOR

每一個c++函式必須有一個建構器,對於普通的c++函式來說,預設的建構器是自動產生的,但是每個SystemC module必須有一個獨有的name,因此構造器至少有一個參數。


 

2024年3月14日 星期四

*******SystemC--使用者自訂類型

 #define MAX_LENGTH 1504

struct packet
{
     sc_uint<16> length;
     char[MAX_LENGTH] info;
     sc_int<32> fcs;
   
     inline bool operator == (const packet& rhs) const
     {
         return rhs.info == info
             && rhs.length == length
             && rhs.fcs == fcs;
     }
};

*******SystemC-- 資料類型

基本資料類型



四值邏輯 sc_logic

數位系統中最常見的四個邏輯為:

*******SystemC--時鐘模型

在 SystemC 中,時脈被當作一個特殊的物件處理,它就是 sc_clock 類別。


時鐘端口作為一個特殊的端口,如:

  • sc_in_clk clk1;
  • sc_in<bool> clk1;

2024年3月13日 星期三

******SystemC-- 訊號和變數

  • 訊號不能用 in、out 或 inout 來聲明,訊號的傳輸方向取決於連接部分的連接埠狀態。
  • 訊號常被用來連接模組和用於進程間通信,變數則用於進程和模組的本地儲存。
  • 變數模擬的賦值是立刻發生的,沒有 delta 延遲;而訊號和連接埠的值刷新要經過一個 delta 延遲。
  • 訊號應常被綜合為邏輯塊間的連線;變數常被綜合為邏輯塊,可以是組合或時序邏輯。

*******SystemC--模組

模組是最基本的單位,包含一些其他元素如:連接埠、內部訊號、內部資料、子模組、流程、建構函式和析構函式等。 這些元素共同定義模組所表達的功能。


使用關鍵字 SC_MODULE 來宣告一個模組,也可以用 C++ 的類別來定義模組。

******SystemC--調度器

sc_start() 函數啟動調度器,第一個工作是對進程的初始化。

*****SystemC-- 仿真過程

模擬過程是基於事件(Event)的,時間只前進,不後退。 前進的尺度與模擬時間解析度和時間單位有關。

*******SystemC--描述層次

  • SystemC 不僅是一種新的硬體描述語言,更是一種系統描述語言。
    • 暫存器傳輸級(RTL)
    • 時脈週期精確級

*****SystemC--語言架構

 SystemC本質上是在C++的基礎上添加的硬體擴充庫和模擬核。


1  graph LR

2  A[C++語言標準]-->B[SystemC核心]

3  A-->C[資料型態]

4  B-->D[基本通道]

*******【WSL教學】在Windows上執行Linux + VSCode

安裝WSL: 以管理員身份運行PowerShell來開啟此功能。要做到這一點,您可以在Windows搜索欄中輸入“PowerShell”,然後右鍵單擊Windows PowerShell,選擇“以管理員身份運行”。 在PowerShell中,輸入以下指令以安裝WSL。 wsl -...