發表文章

目前顯示的是 10月, 2018的文章

Vue-CLI 2 => Vue-CLI 3 升級囉~~

圖片
之前是從Vue-CLI 2開始接觸網頁這一塊的,最近不久Vue-CLI 3推出之後一直考慮是否要升級,希望能無痛轉移哈哈,考慮了一陣子還是該踩踩坑啦!!順便剛好手邊有機會來著手碰碰Vue-CLI 3直接支援的PWA(目前頭痛不願面對阿~~~)。 安裝: Vue CLI v3 要求 Node.js V8 或更高版本(建議版本 8.10.0+ )。 能使用npm或yarn進行安裝,我自己是用npm~ npm install -g @vue/cli or yarn global add @vue/cli 安裝完後可透過 vue -V 來確認版本是否為3.0 建立新專案: 以前是透過 vue init my-project 來建置新專案,而Vue CLI 3則改成使用 vue create my-project 來代替原本舊的寫法。 接下來開始安裝畫面:詢問安裝套件(我選擇自選) 然後開始選擇想要的套件(我有選擇pwa剛好可以練練,其他router、vuex我習慣手動裝) 詢問配置文件要獨立還是放package.json 是否記住這些選項 過來就等待安裝啦~~接下來要開專案囉。 cd my-project npm run serve 不再是以前的 npm run dev 我們執行指令之後,Vue-CLI會啟動一個http服務,可以從localhost打開。然後我們打開網頁。 而和之前一樣若要把程式碼打包,丟server讓網頁上架一樣的指令,把程式碼build到dist資料夾。 npm run build vue.config.js 設定: 會發現以前的webpack.config.js不見了!!沒錯被隱藏起來了,假如有要改配置的話要手動新增 vue.config.js放在根目錄中(假如沒有要改就不用手動就用預設)。 相關配置請查詢官方設定 請按這裡 。(底下為示範) module.exports = { baseUrl: '/', outputDir: 'dist', compiler: false, chainWebpack: () => {}, configureWebpack: () => {}, v

Vue和Css的小動畫時間 1

圖片
之前意外的案子才接觸前端網頁,並使用了Vue.js所以對一些基礎不是那麼厲害,但寫一陣子了對於資料流阿或控制還是可以的,最大的問題還是美感和CSS!!! 常常被老闆講做的真醜哈哈~ 所以開始來彌補以前跳級打怪留下的債囉,所以就做些小小動畫來練練,雖然也是從別人那慢慢看學 (抄) 來的,接下來就來看看幼幼班等級的CSS動畫吧! 大概長這個樣子 一個簡陋的進入畫面,也能當loading畫面~ 程式碼大概是長 Html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <link rel="stylesheet" href="app.css"> <title>Document</title> </head> <body> <div class="container"> <span class="text1"> Welcome</span> <span class="text2">my web</span> </div> </body> </html> 一個div和兩個span放一些想要的內容 CSS部分: *{ padding: 0; margin: 0; font-family: sans-serif; } body{ background: #000; } .container{ text-align: cent

專題 FPGA Zynq7000 DES篇 3

圖片
一陣子沒更新了~~這次來講DES加解密吧! 我是利用Xilinx官方提供的xapp270文件來做改寫,原本的文件的DES是利用vhdl的to語法,一開始很順利做成功了Ya~~但是在我準備做PR發現了一件事情!!!!!!!!!!! Port出問題啦!! 我們前面的AES RSA皆是用downto的寫法來寫所需的bits數,但是DES是用to的方式這造就了一開始儲存位置不同,所以port會無法相用,有幾種方法做選擇,那一些方法在做PR的時候再來講吧,我目前用的方法是直接改DES官方文件的Code,全部改成downto雖然聽起來很簡單,但是要改地方超多QQ因為很多讀值起始就出問題了,所以改了一段時間和測試。 改完部分程式碼大概是這樣~ 改的那部分有興趣者再來交流吧~雖然不難但麻煩哈哈 接下來老樣子,一樣創一個新的IP空殼來做IP吧!! 一樣吧~把port打上去囉 就像之前所說最大傳輸值為32bits,而這裡需64所以要自己接訊號然後合併暫存器囉! 這裡我遇到一個小問題,也是一個小粗心,在暫存器7 8的時候寫反了,因為之前是使用to的方式來撰寫,所以順序和現在倒反了,然後沒注意沒有換過來,到最後在解密之時一開始解值的地方解錯,造成後續的解密都失敗。 就和之前差不多啦~~ 好了就開始跑合成,再來就merge和打包成IP吧~詳情請看前面嚕! 過來創建project來把IP放進去吧 過來就是老樣子囉~ Generate Output Products->Create HDL warpper Run Synthesis -> Run Implemented -> Generate Bitstream export Hardware-> launch sdk 接下來就是SDK的Standalone測試把值賦予進去吧!! 第一個加解密失敗的原因,就是我剛剛上面所說的暫存器寫反了,to和downto的差別就是起始位置不同,所以造就這些問題,但解決囉~~又完成一個囉!!

專題 FPGA Zynq7000 AES篇 2

圖片
經過上一篇的RSA撰寫的經驗,對於其他加解密應該有不錯的想法,這一篇將要做AES128位元,不同RSA32位元,就來試試看吧。 AES 最TOP檔部分程式碼 跟上一篇一樣先來創建IP哦,但是這次要13個暫存器,因為1個IP得Data width只能傳輸32位元,所以超過就要拆開來去分配,key data_in各2個 data_out需要4個。 照慣例匯入source之後開始配暫存器以下為程式碼。 因為超過32位元沒辦法一次寫完,所以我們要自己再寫signal去配置。                                          告訴他們key_signal和data_in_signal是相同的只是不同暫存器 將我們自己配置的線路分配到這些暫存器。 這樣就寫好囉~那就存檔並且合成吧! 結束之後開始packge ip(記得merge) 過來就一樣開啟舊專案或新專案來放置我們IP,因為只是測試所以我只放新IP要不燃燒錄時間會拖長。(PS:記得在專案內引進自己做得IP哦) 放完就像這樣啦,一樣開始 Generate Output Products->Create HDL warpper 完成後 Run Synthesis -> Run Implemented -> Generate Bitstream 跑完就export Hardware-> launch sdk 轉戰SDK囉~ 跟RSA一樣只是drivers變新的IP PS:如果是用舊專案可以把原本的底層SDK先刪掉關掉,再去生成比較好友時候生出來還是舊的~3~不知到是不是我的問題。 開一個hello word 專案來測試(記得寫完要燒錄哦!!!!!) 透過程式碼能知道load是告訴程式後面的值還要輸入的開關,mode的開關是加解密開關,start是告訴程式是否已經準備好,done則是做完的時候會立起flag在繼續往下。 一樣連putty測試結果大概是下面降子。 這就是AES 從IP到standalone測試~~有問題歡迎指教。

專題 FPGA Zynq7000 RSA篇 1

圖片
這次老師想對sensor傳輸過來的資料放到硬體做加解密,之後還要擴展成使用PR(Reconfigurable Partitioning)部分可重組技術,來自動判斷要使用哪種加解密方式,這次選則RSA32位元 AES128位元 DES64位元 Triple_DES64位元。執行環境為Xilinx vivado2016 SDK2016運行板子為Zynq7000。先只是standalone測試正式會做成PR並在xilinx linux3.14下環境執行,所以還有kernel和driver QQ死去~~ 分別使用VHDL檔來製作出我們的ip。 RSA  最TOP部分程式碼檔案: 有了vhdl檔我們就能著手做IP了!!! 打開vivado 2016 併選擇manage ip 然後新增IP (檔名我們就取個RSA吧) 建立完成(附註請選擇創造AXI IP 然後透過VHDL我們可以知道需要7個暫存器 clk有系統內建) 然後就把RSA的相關程式碼用add source加進去吧~ 加進去了就開始撰寫IP得配置和暫存器劃分吧! 告訴上層的AXI_inst有什麼配置然後所需的位元大小等等... 然後我將2個out設2個訊號接點(signal) 然後就該來分配暫存器囉,還有加上自己的訊號接點,還有user logic並結合上圖的配置。 結束存檔會發現一開始匯入的source檔和我們的接線殼合併了!! 然後就跑個合成(run synthesis)看看有沒有問題ㄅ 沒問題之後就能來打包IP(package ip)惹YA~ (記得merge哦~~~) 既然完成IP那我們就來放進去我們的block design吧 新建一個檔案並選擇我們的Zedboard (xc7z020clg484-1)板子吧 然後匯入我們的做好的IP 創造一個block design然後把他丟進去加上主控(PS) 建好之後就來 Generate Output Products(生成HDL源文檔和相應端口的約束檔) 和 Create HDL wrapper(生成整個工程的文檔)吧 然後就開始Run Synthesis -> Run Implemented -> Generate Bitst