Posts

Showing posts from April, 2018

Circuit synthesis from Verilog and importing it to Cadence (based on UMC65nm Low-Leakage technology)

Image
Once we finish Verilog programming, open Cadence Encounter $ module load ic/6.1.6 ius mmsim/12.1 assura/4.14_OA calibre/2012.2.17 rc/14.25 primetime/I edi incisive/13.1 pve/12.1 syndesign/I $ rc -gui At the command-line, load the technology library (UMC65LL in this case) :/> set_attribute library [location/library_file.lib] Then, use the following commands :/> read_hdl [verilog_file.v] :/> elaborate [entity name] :/> synthesize -to_mapped -effort high :/> generate_reports -outdir reports -tag mapped-incr :/> change_names -verilog :/> write_db -to_file design.db :/> write_design -gzip -basename design/mapped :/> write_hdl > design.v :/> write_sdc > design.sdc The generated file -- design.v will contain the logic gates and connections. This file will be imported to Cadence Virtuoso File -> Import -> Verilog Specify Target Library Name Reference Libraries - UMC65LL standard cell library Verilog Files To Import - desi

การสังเคราะห์ Verilog เป็นวงจรดิจิตอล และ Import เข้า Cadence (UMC 65nm Low-Leakage technology)

Image
Verilog เป็นภาษาหนึ่งที่ใช้บรรยายฮาร์ดแวร์ (Hardware description language, HDL)  เราสามารถใช้ภาษานี้เขียนโปรแกรมให้วงจรแสดงผลลัพธ์ตามที่ต้องการได้โดยไม่ต้องต่อ ลอจิคเกต (Logic gate) เอง จึงช่วยลดเวลาในการพัฒนาวงจรประมวลผล แต่โดยปกติภาษา  Verilog ไม่ได้แสดงลอจิคเกตหรือการเชื่อมต่อ จึงไม่สามารถนำไปวิเคราะห์การทำงานในเชิง สัญญาณไฟฟ้า เช่น กลิทช์ (Glitch) และไม่สามารถนำไปผลิตเป็นวงจรของจริงได้  ดังนั้นเราจะต้องแปลงโปรแกรม Verilog ให้กลายเป็นวงจรลอจิคเกต  กระบวนการนี้เรียกว่าการสังเคราะห์วงจร (Synthesis) สามารถทำได้โดยใช้โปรแกรม Cadence Encounter RTL Compiler เมื่อเราเขียนโปรแกรม Verilog เรียบร้อยแล้วให้เปิดโปรแกรม Cadence Encounter โดยใช้คำสั่ง $ module load ic/6.1.6 ius mmsim/12.1 assura/4.14_OA calibre/2012.2.17 rc/14.25 primetime/I edi incisive/13.1 pve/12.1 syndesign/I $ rc -gui ที่ Command-line โหลดไลบรารีของเทคโนโลยีที่ต้องการสร้างวงจร (ในที่นี้คือ UMC65LL) :/> set_attribute library [ตำแหน่งไฟล์ไลบรารี นามสกุล .lib] จากนั้นใช้ชุดคำสั่ง :/>

การใช้ MATLAB ย้ายข้างสมการ

Image
สมมติว่าเราต้องการย้ายข้างสมการที่ซับซ้อนมากๆ เช่น ให้อยู่ในรูป Y = [การคำนวณตัวแปร X]  โดยกำหนดให้ B1, B2, D, V1, V2 เป็นค่าคงที่ จากสมการตั้งต้น การย้ายข้างด้วยมือทำได้ยากมาก หรืออาจจะทำไม่ได้ เราจึงต้องใช้ MATLAB ช่วยคำนวณ ตามขั้นตอนดังนี้ #ประกาศตัวแปรแบบ symbolic >> syms Y X B1 B2 V1 V2 D; #เขียนสมการตั้งต้น >> eqn = ((X*D)/Y) - X == (((((2/B1)^(1/2))*((Y/X)^(1/2)))+V1)*(X/Y)) + (B2*((D/2)-(Y/2)-V2+(V1/2)+(((1/2)*((2/B1)^(1/2))*((Y/X)^(1/2))))))^(-1); #ใช้คำสั่ง solve โดยเริ่มต้นใช้ MaxDegree เป็น 1 >> solY = solve(eqn, Y, 'MaxDegree', 1); #ตรวจสอบผลลัพธ์ >> pretty(solY) ให้สังเกตุสมการผลลัพธ์ว่ามี warning และมีตัวแปร Z เพิ่มเข้ามาหรือไม่ ถ้ามีให้เพิ่ม MaxDegree ขึ้นทีละ 1 จนกว่าตัวแปร Z จะหายไป #ในกรณีนี้ใช้ MaxDegree เท่ากับ 4 >> solY = solve(eqn, Y, 'MaxDegree', 4); #ตรวจสอบผลลัพธ์อีกครั้ง >> pretty(solY) จะเห็นว่ามีสมการคำตอบอยู่ 4 สมการ และมีสมการย่อยเยอะมาก (แสดงไม่หมด) เราต้องทดสอบว่าสมการ

การเปิดบัญชีธนาคารสำหรับนักเรียนใน UK (Newcastle)

Image
การเปิดบัญชีสำหรับนักเรียน Newcastle นั้นง่ายมากๆ เอกสารที่ต้องเตรียมมี 1. พาสปอร์ต 2. เอกสารคอนเฟิร์มที่อยู่เช่น สัญญาจองหอพัก 3. เอกสารรับรองจากมหาวิทยาลัย สามารถขอได้ที่ Student service (King's gate) โดยจะต้องรอ 1-2 วัน แต่สำหรับคนที่มาเรียนในรอบเดือนกันยายน ซึ่งเป็นช่วงเปิดเทอม 1 มหาวิทยาลัยจะจัดศูนย์ลงทะเบียนเรียนให้โดยเฉพาะ มีบริการทุกอย่างสำหรับนักเรียนใหม่ในที่เดียว รวมทั้งการขอเอกสารรับรองสำหรับเปิดบัญชีด้วย สะดวกมากๆ เมื่อเอกสารครบแล้วเราก็ไปจองคิวเปิดบัญชีที่ธนาคาร อาจจะได้คิววันนั้นเลย หรือรอไม่เกิน 1 สัปดาห์ (ไม่เหมือนเมืองไทยที่เดินเข้าไปธนาคารแล้วเปิดบัญชีได้เลย) สำหรับธนาคารในอังกฤษก็มีเยอะพอสมควรถ้าเราศึกษาโปรโมชันธนาคารไว้ก่อนก็จะช่วยให้ได้ดอกเบี้ยหรือส่วนลด ทำให้เราประหยัดค่าใช้จ่ายได้มากขึ้น บัญชีธนาคารทั่วไปจะมี 2 ประเภทคือกระแสรายวันกับออมทรัพย์ เท่าที่สังเกตความแตกต่างคือบัญชีกระแสรายวันจะได้บัตรเดบิต Visa หรือ Mastercard ที่เอาไปจ่ายเงินซื้อของได้ตามปกติ ส่วนบัญชีออมทรัพย์จะได้บัตรกดเงินสดซึ่งจะใช้ได้กับตู้ของธนาคารเท่านั้น เอาไปซื้อของไม่ได้ (ไม่เหมือ