untitled

Similar documents
Edge-Triggered Rising Edge-Triggered ( Falling Edge-Triggered ( Unit 11 Latches and Flip-Flops 3 Timing for D Flip-Flop (Falling-Edge Trigger) Unit 11

Microsoft PowerPoint - STU_EC_Ch08.ppt

9 什 么 是 竞 争 与 冒 险 现 象? 怎 样 判 断? 如 何 消 除?( 汉 王 笔 试 ) 在 组 合 逻 辑 中, 由 于 门 的 输 入 信 号 通 路 中 经 过 了 不 同 的 延 时, 导 致 到 达 该 门 的 时 间 不 一 致 叫 竞 争 产 生 毛 刺 叫 冒 险 如

2/80 2

Preface This guide is intended to standardize the use of the WeChat brand and ensure the brand's integrity and consistency. The guide applies to all d

穨control.PDF

邏輯分析儀的概念與原理-展示版

Microsoft PowerPoint - CH 04 Techniques of Circuit Analysis

BC04 Module_antenna__ doc

IP TCP/IP PC OS µclinux MPEG4 Blackfin DSP MPEG4 IP UDP Winsock I/O DirectShow Filter DirectShow MPEG4 µclinux TCP/IP IP COM, DirectShow I

Microsoft Word - FPGA的学习流程.doc

1.ai

AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING

林教授2.PDF

Microsoft Word 谢雯雯.doc

Guide to Install SATA Hard Disks

LH_Series_Rev2014.pdf

TX-NR3030_BAS_Cs_ indd

K7VT2_QIG_v3

68369 (ppp quickstart guide)

K301Q-D VRT中英文说明书141009

Microsoft PowerPoint - ATF2015.ppt [相容模式]

Microsoft Word doc

目 錄 實 施 計 畫 1 專 題 演 講 因 應 十 二 年 國 民 基 本 教 育 課 程 綱 要 學 校 本 位 課 程 的 整 體 布 局 A-1 推 動 十 二 年 國 民 基 本 教 育 課 程 綱 要 相 關 配 套 措 施 A-10 分 組 研 討 法 規 研 修 B-1 課 程 教

4. 每 组 学 生 将 写 有 习 语 和 含 义 的 两 组 卡 片 分 别 洗 牌, 将 顺 序 打 乱, 然 后 将 两 组 卡 片 反 面 朝 上 置 于 课 桌 上 5. 学 生 依 次 从 两 组 卡 片 中 各 抽 取 一 张, 展 示 给 小 组 成 员, 并 大 声 朗 读 卡

C o n t e n t s Acceptance Allow Love Apologize Archangel Metatron Archangel Michael Ask for

Cube20S small, speedy, safe Eextremely modular Up to 64 modules per bus node Quick reaction time: up to 20 µs Cube20S A new Member of the Cube Family

<4D F736F F D205F FB942A5CEA668B443C5E9BB73A740B5D8A4E5B8C9A552B1D0A7F75FA6BFB1A4ACFC2E646F63>

CANVIO_AEROCAST_CS_EN.indd


中国人民大学商学院本科学年论文

Microsoft PowerPoint - Aqua-Sim.pptx

2. initial always initial always 0 always initial always fork module initial always 2 module clk_gen_demo(clock1,clock2); output clock1,clock2; reg cl

VASP应用运行优化

untitled

考試學刊第10期-內文.indd

课题调查对象:

Microsoft Word - KSAE06-S0262.doc

2015年4月11日雅思阅读预测机经(新东方版)

A VALIDATION STUDY OF THE ACHIEVEMENT TEST OF TEACHING CHINESE AS THE SECOND LANGUAGE by Chen Wei A Thesis Submitted to the Graduate School and Colleg

网易介绍

天 主 教 輔 仁 大 學 社 會 學 系 學 士 論 文 小 別 勝 新 婚? 久 別 要 離 婚? 影 響 遠 距 家 庭 婚 姻 感 情 因 素 之 探 討 Separate marital relations are getting better or getting worse? -Exp

图 片 展 示 : 资 源 简 介 : FPGA Altera CycloneII EP2C5T144C8 (4608 个 LE) 2 路 有 源 晶 振 (50M,25M) AS & JTAG 标 准 接 口 VGA 接 口 UART 接 口 蜂 鸣 器 8bit 并 行 DAC 8 路 按 键

Microsoft PowerPoint - Lecture7II.ppt

2005 5,,,,,,,,,,,,,,,,, , , 2174, 7014 %, % 4, 1961, ,30, 30,, 4,1976,627,,,,, 3 (1993,12 ),, 2

AI-AUTO-011 Saflex® Advanced PVB - Color Interlayer (Chinese)

8260



z x / +/- < >< >< >< >< > 3 b10x b10x 0~9,a~f,A~F, 0~9,a~f,A~F, x,x,z,z,?,_ x,x,z,z,?,_ h H 0~9,_ 0~9,_ d D 0~7,x,X,z,Z

PowerPoint Presentation

D-Type entity D_FF is D :in std_logic; CLK :in std_logic; Q :out std_logic); end D_FF; architecture a of D_FF is process(clk,d) if CLK'EVENT and CLK =

Microsoft Word - TIP006SCH Uni-edit Writing Tip - Presentperfecttenseandpasttenseinyourintroduction readytopublish

(baking powder) 1 ( ) ( ) 1 10g g (two level design, D-optimal) 32 1/2 fraction Two Level Fractional Factorial Design D-Optimal D

D A

Microsoft PowerPoint _代工實例-1

Microsoft Word - HC20138_2010.doc

Microsoft Word - Final Exam Review Packet.docx

Microsoft PowerPoint - CA_02 Chapter5 Part-I_Single _V2.ppt


OA-253_H1~H4_OL.ai

國 立 政 治 大 學 教 育 學 系 2016 新 生 入 學 手 冊 目 錄 表 11 國 立 政 治 大 學 教 育 學 系 博 士 班 資 格 考 試 抵 免 申 請 表 論 文 題 目 申 報 暨 指 導 教 授 表 12 國 立 政 治 大 學 碩 博 士 班 論

...1 What?...2 Why?...3 How? ( ) IEEE / 23

Analysis of Cultural Elements of Meinong s Paper Umbrella Painting Abstract Meinong paper umbrellas are a traditional industrial art for the Hakka peo

東吳大學


untitled

untitled

PowerPoint Presentation

bingdian001.com

Product Type Batteries (only) Circuit Breatkers & Load Protection Connection Devices Contactors Ethernet Switches, Stratix Switches I/O Modules; PLC N

Logitech Wireless Combo MK45 English

元代題畫女性詩歌研究

Chn 116 Neh.d.01.nis

1. 請 先 檢 查 包 裝 內 容 物 AC750 多 模 式 無 線 分 享 器 安 裝 指 南 安 裝 指 南 CD 光 碟 BR-6208AC 電 源 供 應 器 網 路 線 2. 將 設 備 接 上 電 源, 即 可 使 用 智 慧 型 無 線 裝 置 進 行 設 定 A. 接 上 電 源

Microsoft Word - 武術合併

2015 Chinese FL Written examination

RAID RAID 0 RAID 1 RAID 5 RAID * ( -1)* ( /2)* No Yes Yes Yes A. B. BIOS SATA C. RAID BIOS RAID ( ) D. SATA RAID/AHCI ( ) SATA M.2 SSD ( )

:5-6

2

東莞工商總會劉百樂中學

HCD0174_2008

Windows XP

untitled

Microsoft Word - template.doc

JOURNAL OF EARTHQUAKE ENGINEERING AND ENGINEERING VIBRATION Vol. 31 No. 5 Oct /35 TU3521 P315.


Microsoft Word - Xinhua Far East_Methodology_gb_2003.doc

els0xu_zh_nf_v8.book Page Wednesday, June, 009 9:5 AM ELS-0/0C.8

Microsoft PowerPoint - IAS 21 - IFRS宣導會.pptx

Microsoft PowerPoint - Ch5 The Bipolar Junction Transistor

gate level ADMS Power Noise Timing RC RCC Signal Integrity RC RCC Calibre xrc Eldo Hspice spectre DSPF SPEF Calibre xrc reduce thresholds tolerances C

ebook122-11

Microsoft PowerPoint - STU_EC_Ch04.ppt

monalitDE_002.indd

A

UDC 厦门大学博硕士论文摘要库

Product Type Batteries (only) Circuit Breakers & Load Protection Connection Devices Contactors Ethernet Switches, Stratix Switches I/O Modules; PLC Ne

60 台 灣 社 會 學 第 九 期 From Chinese Original Domicile to Taiwanese Ethnicity: An Analysis of Census Category Transformation in Taiwan Fu-chang Wang Instit

Transcription:

USING THE DESIGN ASSISTANT PanDeng 2004 05

Quartus help/search Design Assistant TMG6480 Design Assistant warning 1. Combinational logic used as clock signal should be implemented according to Altera standard scheme assign clk_rst_a = CS_CPU == 1'b0 & BCTL0 == 1'b1 & Addr == 18'b000000000000001000;

always @(posedge clk_rst_a or negedge Reset) if (!Reset) RST_A<=1'd0; RST_A<=BD[7]; end DFF In a design, combinational logic that is used as a clock signal should follow the following guidelines: The gating logic should be a two-input gate or a two-input gate. NOT There should be only one input pin that acts as a primary input clock signal to the or gate. a b a && b The non-clock input clock enable signal to the or gate should be synchronized with a register. The register should be clocked by the same input pin that acts as the primary input clock signal to the or gate. If the combinational logic uses an gate, the clock port of the register that drives the gate should be active on the falling edge and the clock port of the register driven by the gate should be active on the rising edge. Or If the combinational logic uses an gate, the clock port of the register that drives the gate should be active on the rising edge and the clock port of the register driven by the gate should be active on the falling edge. and or and or 2. Input clock pin should fan out to only one set of combinational logic used as clock signal A design should not contain an input clock pin that fans out to more than one set of combinational logic that is used as a clock signal. To effectively save power using the combinational logic, you should make sure all the input clock pins in a design each fan out to only one set of combinational logic that is used as a clock signal. The following image shows an example of an input clock pin that fans out to more than one set of the combinational logic:

3. Clock signal should be a global signal 4. Clock Signal Source Should Drive Only Input Clock Ports Clock signal sources in a design should drive only input clock ports of registers. When a design contains clock signal sources that connect to ports other than clock ports, the design is considered asynchronous, which can cause problems in the design DFF CLK always @(negedge ByteCount8 or negedge RST) if (!RST) PrePassAll<=0; PrePassAll<=PrePassAlltemp; End ByteCount8 4'd8 : nextstate =(ByteCount8 && (RxData == 8'hd5))? 4'd9 : 4'd1; ByteCount8

5. Clock signal sources in a design should drive only input clock ports of registers When a design contains clock signal sources that connect to ports other than clock ports, the design is considered asynchronous, which can cause problems in the design CLK A CLKa B CLKb CLKa=CLK; CLKb=CLK; CLKa CLKb always @(negedge RXC_1 or negedge RST) if (!RST) RCLKa<=0; RCLKa<=count_rxa[1]; End always @(negedge RXC_1 or negedge RST) if (!RST) RCLKb<=0; RCLKb<=count_rxb[1]; End RCLKa RCLKb RXC_1 6. Clock Signal Source Should Not Drive Registers That are Triggered by Different Clock Edges A design should not contain nodes where a clock signal source (for example, an input clock pin) drives the design's registers in one of the following ways: The clock signal source drives registers that have clock inputs that trigger on the positive edge of the clock, and other registers that have clock inputs that trigger on the negative edge of the clock. The clock signal source drives only registers that have clock inputs that all trigger on either the positive or negative edge of the clock, but the design inverts the clock before driving some of the registers. These connections can cause various design problems, including an increase in timing requirement

complexity and difficulties. Also, because registers are not clocked on the same edge in the design, synchronous resetting is impossible. When a design inverts the clock, additional design problems may occur; for example, the inverted clock may be mapped to regular logic or may not contain the correct time relationship to the original clock. The registers that synchronize combinational logic that is used as a clock or reset signal are sometimes triggered by different clock edges. However, these registers do not cause problems in the design. always @ (negedge RCLKb or negedge RXDV_1) if(!rxdv_1).. end always @(posedge RCLKb or posedge RXDVb) if (!RXDVb) ByteCnt_b<=0; ByteCnt_b<=ByteCnt1_b+1'd1; End RCLKb RXDV_1 RXDVb negedge posedge 7. Two or More Register Outputs in Cascade Should Not Directly Drive Clock Ports of Following Registers Q A design should not contain ripple clock structures, that is, structures where the outputs of two or more registers in a cascade each directly drives the input clock port of the following register in the cascade. Cascading registers should have only one output, or no output, that directly drives the following register's input clock port. The following image shows an example of a ripple clock structure:

1 2 8. Inverter should not be implemented in logic cell CLK LUT inverter Instead, the inverter should be implemented with the register clock's programmable invert. module temp(a,b,c,d); output a; input b; input c; input d; reg a; always @(negedge b) if (!d) a<=1'b0; a<=c; end endmodule

FDR_1 D Flip-Flop with Negative-Edge Clock and Synchronous Reset FDR_1 9. Combinational logic used as reset signal should be synchronized. always @(posedge a or posedge CLR) : D1 if (CLR) a <= 1'b0; a <= 1'b1; end always @(negedge b or posedge CLR) : D2 if (CLR) b <= 1'b0; b <= 1'b1; end assign CLR = a & b ; DFF that is, the combinational logic should drive a register before driving one or more input reset ports of other registers. An asynchronous reset can cause glitches and stability problems in a design.

10. External Reset Should be Synchronized Using Two Cascaded Registers DFF An external reset, which is a primary input that is used as a reset signal, should be synchronized in a design (that is, it should drive two cascaded registers before driving one or more input reset ports of other registers). In a design, an asynchronous reset can affect the recovery time of a register, cause stability problems, and reset state machines to incorrect states. The synchronized gated reset should follow the following guidelines: The external reset should be synchronized with two cascaded registers. There should be no logic between the two cascaded registers. DFF 11. Reset Signal Source Should Drive Only Input Reset Ports DFF always @(posedge clka or negedge RST) if (!RST).. always @(posedge clkb or negedge RST) if (!RST)... DFF RST always 12. External reset should be correctly synchronized In a design, the synchronization of an external reset (which is a primary input that is used as a reset signal) should follow the following guidelines:

The external reset should be synchronized with two cascaded registers. There should be no logic between the two cascaded registers. 13. Reset signal that is generated in one clock domain and used in other, asynchronous clock domains should be synchronized In a design, a reset signal that is generated in one clock domain and used in one or more other, asynchronous clock domains should follow the following guidelines: The reset signal should be synchronized with two or more cascading registers in the receiving asynchronous clock domain The cascading registers should be triggered on the same clock edge. There should be no logic between the output of the transmitting clock domain and the cascaded registers in the receiving asynchronous clock domain. An incorrectly synchronized reset signal may cause metastability problems in the design. 14. Reset signal that is generated in one clock domain and used in other, asynchronous clock domains should be correctly synchronized Timing Closure 15. Nodes with more than specified number of fan-outs. This rule reports the specified number of nodes with the highest fan-out, which can create timing challenges for a design. You can specify that the Design Assistant use this rule by turning on Top nodes with highest fan-out: <n> under Timing closure in the Design Assistant rules list in the Design Assistant page of the Settings dialog box (Assignments menu). You can use the High-Fanout Net Settings dialog box, which is available from the Design Assistant page, to specify the number of nodes you want the Design Assistant to report. The Design Assistant Settings section of the Report window lists the options you turn on and the settings you specify. The Design Assistant lists the nodes in the Messages window, the Design Assistant Messages section of

the Report window, and the Design Assistant Detailed Results section of the Report window. FPGA 16. Top nodes with highest fan-out. 17. Register output directly drives input of another register when both registers are triggered at same time If the two registers are triggered by clock edges at the same time, a hold time violation may occur. 18. Registers in direct data transfer between clock domains are triggered by clock edges at the same time In a design, the output of a register in one clock domain directly drives the input of another, synchronous register in another clock domain. If the two synchronous registers are triggered by clock edges at the same time, a hold time violation may occur. Non-synchronous design structure 19. Design should not contain delay chains A design should not contain any delay chains, which are two or more consecutive nodes with a single fan-in and a single fan-out that are used to cause delay. Delay chains often result from asynchronous design practices and can cause various design problems, including an increase in a design's sensitivity to operating conditions, a decrease in a design's reliability,

20. Design Should Not Contain Latches Latch A design should not contain latches, which are structures where two or gates (which the Quartus II software implements in logic cells) are cross-coupled using combinational loops that drive the output of one gate to an input of the other gate. These latches can cause glitches and ambiguous timing in a design, which makes timing analysis of the design more difficult. The Design Assistant generates this rule when it identifies one or more structures as latches but cannot determine the latch types. The latches may also be part of more sophisticated latches that the Design Assistant cannot identify. Latch glitch ambiguous 21. Design should not contain combinational loops. module temp(a,b,c); output a; input b; input c; assign a=c?b:a; endmodule a 22. Register output should not drive register's control signal directly or through combinational logic.

always @(posedge VCOCLK or posedge CLR) : D1 if (CLR) Q_VCO <= 1'b0; Q_VCO <= 1'b1; end always @(negedge REFCLK or posedge CLR) : D2 if (CLR) Q_REF <= 1'b0; Q_REF <= 1'b1; end assign CLR = Q_VCO & Q_REF ; DFF CLR A design should not contain any combinational loops where the output of a register directly drives one of its own control signals (for example, the register's preset signal or asynchronous load signal), or the output of the register drives combinational logic that drives one of the register's control signals. 1 2 These combinational loops can cause significant stability and reliability problems in a design. For example, because the behavior of a combinational loop often depends on the relative propagation delays of the combinational loop's logic, and because design tools experience difficulties when handling combinational loops, the combinational loop after fitting may not function as it was originally intended to function in the design. The following image shows an example of a combinational loop where the output of a register directly drives one of its own control signals: The following image shows an example of a combinational loop where the output of a register drives combinational logic that drives one of the register's control signals:

Clock 1. Combinational logic used as clock signal should be implemented according to Altera standard scheme 2. Inverter should not be implemented in logic cell 3. Input clock pin should fan out to only one set of combinational logic used as clock signal 4. Clock signal source should drive only input clock ports 5. Clock signal should be a global signal 6. Clock signal source should not drive registers that are triggered by different clock edges Reset 7. Combinational logic used as reset signal should be synchronized 8. External reset should be synchronized using two cascaded registers 9. External reset should be correctly synchronized 10. Reset signal source should drive only input reset ports 11. Reset signal that is generated in one clock domain and used in other, asynchronous clock domains should be synchronized 12. Reset signal that is generated in one clock domain and used in other, asynchronous clock domains should be correctly synchronized Timing Closure 13. Nodes with more than specified number of fan-outs. 14. Top nodes with highest fan-out. 15. Register output directly drives input of another register when both registers are triggered at same time 16. Registers in direct data transfer between clock domains are triggered by clock edges at the same time

Non-synchronous design structure 17. Design should not contain combinational loops 18. Register output should not drive register's control signal directly or through combinational logic 19. Design should not contain delay chains 20. Two or more register outputs in cascade should not directly drive clock ports of following registers 21. Pulses should be implemented according to Altera standard scheme 22. Multiple pulses should not be generated in design 23. Design should not contain SR latches 24. Design should not contain latches 25. Combinational logic should not directly drive write enable signal of asynchronous RAM 26. Design should not contain asynchronous memory Signal race 27. One signal source should not drive both input and output enable of tri-state node Asynchronous clock domains 28. Data bits are not synchronized when transferred between asynchronous clock domains 29. All data bits that are transferred between asynchronous clock domains are synchronized 30. Data bits are not correctly synchronized when transferred between asynchronous clock domains HardCopy rules 31. Asynchronous load should be directly supported by one logic cell 32. Only one VREF pin should be assigned to HardCopy test pin in an I/O bank 33. PLL drives multiple clock network types Assignment checking 34. Design is missing fmax requirement 35. Design is missing tco, tpd, or tsu requirement