JTAG INTERFACE SRAM TESTER WITH C-LCM

Slides:



Advertisements
Similar presentations
1 I/O 设备访问方式和类型. 2 Overview n The two main jobs of a computer: l I/O (Input/Output) l processing n The control of devices connneted to the computer is.
Advertisements

口試準備及口語表達技巧 民國 98 年 2 月 26 日 12:00pm 國立三重高中 陸芳瑜老師 1.
新闻写作基础知识 一. 新闻导语 二.新闻主体 三.新闻结构 四.角度选择.
国家自然科学基金项目申请 经验交流与心得体会
高考主题讲座 高考语文 董 腾.
數學解題王 ~從閱讀策略談起 分享者:吳祥銘老師.
(讲座幻灯课件请在网上下载,让我们一起思考!)
第2章 FPGA/CPLD结构与应用.
Profibus Training Course
最新計算機概論 第3章 計算機組織.
第4章 VHDL设计初步.
序列埠通訊.
从2008年度时尚先生看我们的时代精神方向.
Combinational Logic 組合邏輯
學習行為觀察與評估 講 師:陳怡華.
罗湖区第二届智慧杯中学政治学科小课题研究
教會多媒體的使用 音響系統 Sound System 燈光/照明 Lighting 視頻系統 Video
Android RISC Team Wendy Wang July,2017
加速度計 指導老師 : 洪正瑞 製作人 : 蔡昌佑.
AN INTRODUCTION TO OFDM
CH.2 Introduction to Microprocessor-Based Control
第 七 章  正反器實驗 總目錄.
Chapter 06 Design Implementation Part I
Excellence in Manufacturing 卓 越 制 造
一、實習目的 1、瞭解各種閂鎖器之特性。 2、瞭解各種正反器之特性。 3、瞭解各種正反器之邏輯功能。 4、瞭解正反器之應用。
VHDL數位電路實習與專題設計 文魁資訊-UE301
触发器和时序电路分析 刘鹏 浙江大学信息与电子工程学院 March 30, 2017 ZDMC.
PIC16F1827介紹 以微控器為基礎之電路設計實務-微處理器實驗室.
內容:串列傳輸 實作:Arduino to PC 、 Arduino to Arduino 簡報:廖崇義
Chapter 5 Verilog硬體描述語言
S3c2410电路设计(以北京博创s3c2410-s实验箱为例讲解)
memory array (2n words by m bits)
視訊串流\Streaming Video Part-1 Multimedia on Computer Digital
The Processor: Datapath and Control
C H A P T E R 8 体系结构对系统开发的支持.
EDA原理及应用 何宾
Block diagram BB —逻辑 —音频 —电源管理 HW interface. Block diagram BB —逻辑 —音频 —电源管理 HW interface.
memory array (2n words by m bits)
第6章 FPGA的下载配置电路设计.
   OR-CAD培训教程 欢迎参加OR-CAD培训      .
無線通訊系統模擬 姓名:顏得洋 學號:B
EDA 原理及应用 何宾
第13章 时序电路分析 2018/12/5 逻辑设计基础.
第15章 串行通信及接口电路.
客 訴 處 理 Elan / QRA 顏 安 建 1.
第三章 基本觀念 電腦繪圖與動畫 (Computer Graphics & Animation) Object Data Image
第14章 其它DSP设计库 14.1 总线控制库 14.2 复数信号库 14.3 Gates库 14.4 状态机函数库
Programmable Logic Architecture Verilog HDL FPGA Design
第二章 電腦硬體知識 2-1 電腦的組成與架構 2-2 處理器 2-3 記憶體 2-4 輸入與輸出裝置 2-5 電腦的操作與保養.
Labview內部Linx功能簡介(Analog/Digital/PWM)
软件测试 第3章 测试用例设计 Kerry Zhu
第三章 基本觀念 電腦繪圖與動畫 (Computer Graphics & Animation) Object Data Image
專案管理 CH-1-4 助理教授:王屏非 博士.
EDA 第二章 可编程逻辑器件.
梁文新 办公室:综合楼108 电 话: 软件工程导论 梁文新 办公室:综合楼108 电 话:
第二章 資訊系統開發模式.
中央社新聞— <LTTC:台灣學生英語聽說提升 讀寫相對下降>
SoC 與微控制器的發展 朱亞民.
第10章 存储器接口 罗文坚 中国科大 计算机学院
SD IO Interface World Real Time Clock / Alarm with C-LCM
谁在审判?谁能审判? ——网络舆论对司法判案的影响
SD IO Interface World Real Time Clock / Alarm with C-LCM
用户程序的重新接线 目录 页 目标 ………… 概述……… 用SIMATIC 管理器重新接线 …………………
醫工所碩士二年級 R 葉昱甫 電子所碩士一年級 R 謝博鈞 電信所碩士一年級 R 王欣平
SD IO Interface World Real Time Clock / Alarm with C-LCM
Progress Report Yuan-Hsin Liao 10/22/2014.
Usage Eclipse 敏捷方法工具介紹 實驗室網站:
11/22 DSD Project Team Leader Report
構想審查簡報說明(1/8) 經濟部技術處 AI on chip 研發補助計畫 構想審查簡報 XXXX計畫 申請公司名稱
Programmable Logic System Design
Presentation transcript:

JTAG INTERFACE SRAM TESTER WITH C-LCM Reporter: Team One

Our Project Name JTAG Jo Tone-co Ai Group >o<

Working distribution SRAM [johnny751125] Tester [kcir] Coding Document hcsoso、jackson59、Sinze Tester [kcir] Coding mimi9126、troychang、JAST、 gomibako、reeetingay Document swallow0130、asurada0207

Introduction to JTAG

What’s JTAG? Interface 可用來偵測晶片(chip)的缺陷以及是否運作正常

Common memory problems Memory chip catastrophic failure Circuit board the wiring between the processor and memory device missing memory chips improperly inserted memory chips

Electrical wiring problems address line:儲存到錯誤位址 data line:data不正確 control line:可能導致data根本沒有存入

Missing memory chips 記憶體那個位置上面根本就沒有晶片

Improperly inserted chips 記憶體上某個component的位置放錯所造成

The order of executing tests data bus test address bus test device test

Data bus test 測試目標 確認processor放在bus上 的值和memory device端 讀到的是同一個值 測試方式 Walking 1’s bit 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000

只需要測試2的次方數(power-of-2)的那些位址 Address Bus test Naive 針對每一個cell做測試 Faster 針對每個address bus的 pin腳做測試 00000001 01h 00000010 02h 00000100 04h 00001000 08h 00010000 10h 00100000 20h 01000000 40h 10000000 80h 只需要測試2的次方數(power-of-2)的那些位址

Device test Target 測試memory中的每個bit都可以保存0或是1的值 Offset Value Inverted 00h 00000001 11111110 01h 00000010 11111101 02h 00000011 11111100 03h 00000100 11111011 : FEh 11111111 00000000 FFh

JTAG interface

JTAG interface

JTAG interface

JTAG advantage

How it works? SRAM - on DE2 JTAG - on DE2 I.O.I. (interface of interface) - on DE2 TEST Case - on PC

Block Diagram Why I.O.I.? Tester SRAM Test Case JTAG Error1 Error2 8+64 8 64 1 Error2 I.O.I. TMS, TDI, display 提供多種error版本讓tester偵測 : When error is detected LCM Display

Communication (PC & DE2) RS232!!!

Baud Rate

Baud Rate

SRAM [johnny751125] hcsoso、jackson59、Sinze

Implementation of SRAM 內部電線 data_bus_in_signal data_bus_out_signal address_signal 外部電線 data_bus_in (8-bits) data_bus_out (8-bits) address (4-bits) gw oe

Implementation of SRAM

Error of SRAM 內部線路的誤接 內部線路的短路 write enable和output enable的error 內部input線路永遠連結到0 or 1 內部output線路永遠連結到0 or 1 內部address線路永遠連結到0 or 1 內部線路的短路 內部input線路之間的短路 內部output線路之間的短路 內部address線路之間的短路 write enable和output enable的error

Error of SRAM error1系列:data_bus_in_signal有一個bit的資料會永遠是0 (1_1~1_8) or 1 (1_9~2_16) error2系列:data_bus_out有一個bit的資料會永遠是 0(2_1~2_8) or 1 (2_9~2_16) error3系列:address_signal有一個bit的資料會永遠是 0(3_1~3_2) or 1 (3_3~3_4) error4系列:data_bus_in_signal相鄰的bit短路 error5系列:data_bus_out相鄰的bit短路 error6系列:address_signal相鄰的bit短路 error7系列:output enable(oe)和write enable(gw)的錯誤, 7_1是永遠都在寫,7_2是永遠不會寫,7_3是永遠不會讀

SRAM Video play

JTAG [kcir] mimi9126、troychang、JAST、 gomibako、reeetingay

Implementation Overview

JTAG File Hierarchy

RS232 Buffer File Hierarchy

Problems we met

萬丈project平地起: JTAG Spec JTAG specification: IEEE1149.1 要錢?!

萬丈project平地起: JTAG Spec Specification Sources Boundary-Scan Tutorial 2007 (web resource) The Boundary-Scan Handbook (Parker 1992) What is JTAG: Specification details TDO outputs on falling edge TDI inputs on rising clock edge “The last shift occurs on the transition leaving the state” Spec沒有寫到的部份怎麼辦? 真的要照Spec寫……嗎?

Implementation: Fanout

Implementation: Fanout

Implementation: Fanout Solution: 加and gates outputTCK <= ClockDR and Mode; I1: for i in 0 to 7 generate inputTCKarray(i) <= inputTCK and Mode; outputTCKarray(i) <= outputTCK and Mode; end generate I1; data_bus_out_bsc : bsc port map( sram_data_bus_out( i - 1 ), bsc_link_data_bus_out( i ), outputShiftarray(i mod 8), Mode, outputTCKarray(i mod 8), outputUpdatearray(i mod 8), exit_data_bus_out( i - 1 ), bsc_link_data_bus_out( i - 1 ) )

Implementation: Fanout

Implementation: Fanout Still don’t know how to make an ‘and’ gate appear……. TCK1 <= TCK and TCK X TCK1 <= TCK and 1 X TCK1 <= TCK and TCK and TCK and … X TCK1 <= TCK and Mode O

Implementation:這兩個明明一樣 CRASH!!!! PASS!!! if oe = '0' and gw = '1' then xxx if gw = '0‘ if gw = '1' then if oe = '0' then xxx elsif gw = '0' then 事後推測可能是有Hazard 修改code時莫明奇妙的好了, 所以當時沒有多做測試

傳說中的Hazard?! Functional Timing

傳說中的Hazard?! Simulation Timing simulation vs Functional Simulation

傳說中的Hazard?!

傳說中的Hazard?! if(ShiftIRmap = '1') then TDO <= TDO_from_IR; elsif(ShiftDRmap = '1') then TDO <= TDO_from_DR; else TDO <= 'Z'; end if;

傳說中的Hazard?! 罪魁禍首 ClockDR <= TCK and (ShiftDR_signal or CaptureDR_signal)

傳說中的Hazard?! Solution 1: Asynchronous  Synchronous 不會在value還沒穩定時讀值 Flip flop instead of a latch Solution 2: 把value change的時間從rising edge換成falling edge 於是在rising edge讀值時,所有值都穩定了 (不會和JTAG spec衝突)

傳說中的Hazard?! Other symptoms 莫名的多一次shift JTAG與SRAM合併 JTAG與RS232合併 Conclusion: Hazard是一路伴隨著我們 project從無到有的好朋友 -.-

JTAG Waveform

JTAG Waveform

How to test?

How to test? 用C程式(real_tester.c)產生出waveform檔

How to test? Run Simulation

How to test? 將跑出來的結果上傳至工作站

How to test? 用另一個C程式(wave_checker.c)去比對 結果

Simulation – Data Bus for (i = 0; i < INTEGER_BIT; i++) { write_board(0, 1 << i); read_board(0, 1 << i); }

Simulation – Data Bus

Simulation – Data Bus

Simulation – Data Bus

Simulation – Data Bus

Simulation – Data Bus

Simulation – Address Bus write_board(0, cpattern); for (i = 0; i < ADDRESS_BIT; i++) read_board(1 << i, pattern);

Simulation – Address Bus

Simulation – Address Bus

Simulation – Others

What We Have Learned 分工的困難 Code 合併會花很多時間 之前沒出現的hazard都因為線路delay改了 而出現

Reference http://www.fh-augsburg.de/~hhoegl/proj/usbjtag/usbjtag.html http://www.boundary-scan.co.uk/page7.html http://en.wikipedia.org/wiki/Jtag http://en.wikipedia.org/wiki/Boundary_scan http://www.jtag.com/main.php http://www.csie.ntu.edu.tw/~b92036/pub/Boundary- Scan_Tutorial_2007.pdf http://www.csie.ntu.edu.tw/~b94065/.DSD/blockdiagram.jpg http://www.jtag.tk/ http://www.netrino.com/Embedded-Systems/How-To/Memory-Test-Suite-C

Our Website http://www.csie.ntu.edu.tw/~b94097/DSD/website /Home.html