發表文章

目前顯示的是 8月, 2021的文章

CentOS 7 - iverilog & gtkwave 使用 (putty 遠端使用 gtkwave 問題解決)

圖片
本篇會介紹簡單的 iverilog 和 gtkwave 的使用 如果還沒安裝的可以先參考這篇安裝:  CentOS 7 - RISC-V CPU Core 環境安裝 (tinyriscv) + iverilog & gtkwave 安裝 簡單來說 iverilog 就是可以編譯你的 verilog code 的程式 gtkwave 則是可以幫你顯示出波形圖的程式 它的特色在於輕量,也很適合新手先拿來玩玩 ---iverilog 使用--- 我們可以先簡單寫個測試的程式 一個 verilog 的檔案 + 一個 testbench 檔案 建立資料夾(名字隨便取) mkdir verilog_test && cd verilog_test 建立 verilog 檔案 vim test.v // sum = a + b module test(         input [3:0] a,         input [3:0] b,         output [3:0] sum,         output carry_out ); assign {carry_out, sum} = a + b; endmodule 建立 testbench 檔案 vim test_tb.v module test_tb();         //input         reg [3:0] a;         reg [3:0] b;         //output         wire [3:0] sum;         wire carry_out;         test test1(a, b, sum, carry_out);         initia...

CentOS 7 - RISC-V CPU Core 環境安裝 (tinyriscv) + iverilog & gtkwave 安裝

圖片
最近由於開始要建置實驗環境了 其中會使用到現成的 RISC-V CPU Core 環境 現在當然有很多相關資源 不過老師給我的建議是 先找一個你看得懂 的就好了 一開始我當然是毫無頭緒的各種找各種試 但是發現了一個感覺很適合我這種小白的資源 那就是 tinyriscv ! 基於 Verilog 寫成的 (Chisel 據說很難,而我看過之後的確覺得先放棄...) 他是中文的 (入門就要讀很長的英文文件還是會耐不住性子XD) 他主打程式非常好懂,格式固定,適合新手 (雖然他沒做太多優化,但還是先求有再求好) 他有搭配算是蠻完整的相關說明文件 (雖然我還沒認真看完,但目前感覺蠻充分的) 廢話不多說,我們就直接來建置環境試試看! 首先要用到的有 iverilog 和 gtkwave 軟體包,所以必須先安裝好這兩個軟體包 ---安裝 iverilog--- 下載 iverilog source 包並進入資料夾 git clone https://github.com/steveicarus/iverilog.git && cd iverilog 切換到 v11 分支 git checkout v11-branch 安裝相依軟體 sudo yum install autoconf gperf flex bison sudo yum groupinstall "Development Tools" "Development Libraries" 製作設定檔 sh autoconf.sh 執行設定檔 ./configure --prefix= /opt/iverilog #you can specify the path u want to install in the red part 執行安裝 sudo make sudo make install 到此,iverilog 安裝完成! 不過請記得加入環境變數裡頭 例如我會在 ~/.bashrc 裡加入 export IVERILOG=/opt/iverilog export PATH=$PATH:$IVERILOG/bin 再輸入 source ~/.bashrc 使其生效 ---安裝 gtkwave--- 安裝相依軟體包 sudo yum install tcl-de...

CentOS 7 - Git 2.1.2 安裝

如果你想要安裝 git 看似很簡單 sudo yum install git 我們看看 git --version 的話 可以看到版本是 1.8.x 但有時候安裝軟體時會需要用到較新的 git 這時候就必須想點別的辦法了! 我們可以選擇從 source 建立 git 軟體包了 首先,將相依的軟體先安裝好 sudo yum groupinstall "Development Tools" sudo yum install gettext-devel openssl-devel perl-CPAN perl-devel zlib-devel 然後將 source code 包下載下來 wget https://github.com/git/git/archive/v2.1.2.tar.gz -O git.tar.gz 解壓縮 tar -zxf git.tar.gz 進入資料夾 cd git-2.1.2/ 製作設定檔 make configure 執行設定檔 ./configure --prefix=/usr/local 安裝 git sudo make sudo make install 確認 git 安裝好 git --version 如果有顯示 "git version 2.1.2" 就表示成功囉! ref: How To Install Git on CentOS 7

CentOS 7 - RISC-V + LLVM 環境架設

圖片
這篇文章主要參考於這個 github:  https://github.com/sifive/riscv-llvm ---廢話區--- 這個本來是大四上 Compiler 的時候有用 Ubuntu 建置過 雖然明明只是照指令一行一行打 但對當時的我還是很頭痛 所以上次剛進碩班老師要我建這個環境的時候 我心裡充滿了恐懼 尤其是又要在我完全沒用過的 CentOS 上用 因此我還為此逃避了好幾個月不弄 老師沒把我趕出去真的是佛心來的 不過後來還是終於面對現實去把環境弄起來了 但不得不說 當時真的遇到很多瓶頸 絕對不像在 Ubuntu 上指令照著打一打東西就會順利出來了 (因為裡面文件指令適用於 Ubuntu) 當時經過蠻多各種 ERROR 試了又試 東查西查 才終於把整個環境架出來 所以這次趁著要重新建置整個環境的機會 希望這篇文章能幫助日後自己想起來建置步驟 也能幫助其他想在 CentOS 上建置這個環境的人 ---正文區--- (安裝懶人包在這,但還是建議往下跟著一步一步做才知道哪裡有問題~) riscv_build.sh 先更新好軟體包 sudo yum update 安裝相依的軟體包 (由於是 CentOS ,有些名稱跟原本網站不太一樣要注意) # 這些跟網站給的安裝軟體名稱都是一樣的 sudo yum install binutils libtool texinfo gzip  zip unzip patchutils curl git make cmake automake  bison flex gperf grep sed gawk python bc # 這些是名稱不同的要注意 sudo yum groupinstall "Development Tools" "Development Libraries"  #sudo yum install build-essential(?) sudo yum install http://repo.okay.com.mx/centos/7/x86_64/release/okay-release-1-1.noarch.rpm  #sudo yum install ninja-build sudo yum install ninja-build su...

CentOS 7 - SSH 連線設定

圖片
首先安裝好這兩個軟體   sudo yum install openssh openssh - server 在改設定前要有良好的備份習慣~ cp /etc/ssh/ssh_config /etc/ssh/ssh_config.bak 更改 SSH 連線設定檔 vim /etc/ssh/sshd_confi 檔案裡頭每一行的都是由 " 參數名稱 參數值 "所組成 這部分完全看個人想改那些設定,可以參考別人的設定,這裡只列出最基本需要改的部分 (vim 小技巧:尋找要設定的參數名稱時,可以在 vim 介面中按下 / 然後輸入你要找的名稱再按 Enter) (如果找不到參數名稱的話就自己手動新增) ( ???? = 你設定的 port) Port ????          #預設為 22,或是自己改成大於 1023 的任意數字都行 PermitRootLogin no Protocol 2 不要像我一樣耍白癡忘記刪掉前面註解號(#) 重新啟動 SSH 服務 systemctl restart sshd.service 設定開機時自動啟動服務 systemctl enable sshd.service SELinux 設定 ( ???? = 你設定的 port) sudo semanage port -a -t ssh_port_t -p tcp ???? sudo semanage port -l | grep ssh 讓防火牆允許此 port 進入 ( ???? = 你設定的 port) sudo firewall-cmd --permanent --zone=public --add-port=????/tcp 重新載入防火牆 sudo firewall-cmd --reload 然後就可以測試看看了! ( ???? = 你設定的 port) ssh -v -p ???? YourUserName@YourIP 連得進去的話就是成功了唷! 題外話 我用別台電腦初次 ssh 進來時碰到這個問題 如果有碰到的話,只需要去他指出的那個路徑 把 know_hosts 這個檔案刪掉就好了!   Ref: CentOS 7 安裝/設定SSH

CentOS 7 - 固定/ 靜態(Static) IP 設定

繼上篇千辛萬苦終於把 有線網路介面 建立好後 CentOS 7 - 聯想筆電安裝網卡驅動(Intel I219-LM) 現在可以要來設定固定 IP 了! 透過 ifconfig 來查看你的有線網路介面名稱 ifconfig 我的是 enp0s31f6 這個就是待會要輸入的 DEVICE 參數 然後查看 UUID (待會會用到) nmcli connection show 我的有線網路的 UUID 為 b5f59873-5bd2-c5a6-acb6-f03d5581aca5 接著編輯有線網路設定檔案   vim /etc/sysconfig/network-scripts/ifcfg-enp0s31f6 內容大致如下( 紅色部分 是會根據個人不同):   DEVICE= enp0s31f6                    #DEVICE 跟 NAME 的參數都是一樣的                     BOOTPROTO=static IPADDR= 163.25.101.89            #自己的 IP Address NETMASK= 255.255.255.0 NETWORK= 163.25.101.0 BROADCAST= 163.25.191.255 GATEWAY= 163.25.101.254 ONBOOT=yes METRIC=10 MII_NOT_SUPPORT=no USERCTL=no DNS1=8.8.8.8 RESOLV_MODS=yes IPV6INIT=no IPV6TO4INIT=no UUID= b5f59873-5bd2-c5a6-acb6-f03d5581aca5 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no PREFIX=24 DEFROUTE=yes IPV4_FAILURE_FATAL=no NAME= enp0s31f6 (反正大部分都參考前人的設定...

CentOS 7 - 聯想筆電安裝網卡驅動(Intel I219-LM)

筆電型號: 聯想 ThinkPad P15 作業系統: CentOS 7.9 重灌後才想起來之前安裝系統時為了有線網路花了好大功夫 疑似是因為預設沒有 網卡驅動 所以要先查看網卡資訊 lspci| grep -i eth 我的是  00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (11) I219-LM 查到這裡又回想起了之前的惡夢(?) 我沒記錯的話,官方該網卡驅動沒有直接支援 CentOS 7 的 當時參考了別人的答案,只能找替代的方案 (e1000e) 所以先把 e1000e 下載下來 官方下載 e1000e 驅動程式  然後解壓縮 tar zxvf e1000e-3.8.4.tar.gz 然後進到資料夾 cd  e1000e-3.8.4/src 執行安裝 sudo make  sudo make install 註冊模組 sudo modprob e1000e 確認模組存在 lsmod | grep e1000e 重啟網路服務 service network restart 重啟電腦 reboot 然後確認有線網路介面是否顯示出來了 ifconfig 根據網路上教學 通常應該是到這邊就可以成功 不過我試蠻多次各種教學都還是不行 如果你跟我一樣沒成功的話 可以試試看下面這個網站 真实的物理机安装Centos7系统后网卡只有lo没有eno1的解决办法:实际上是物理机未安装网驱动卡 就可以成功了唷! 最後我的 ifconfig 顯示出了 enp0s31f6 表示有線網路設定完成了!