標題: 請教如何以兩個clock寫入同一個暫存器? [打印本頁] 作者: shlee 時間: 2006-10-30 07:25 PM 標題: 請教如何以兩個clock寫入同一個暫存器? 假如有兩個Clock, CLKA, CLKB, 當CLKA Raising時, 暫存器A要寫入0, CLKB Raising時, 暫存器A要寫入1, 請問如何以Verilog/VHDL implement??重點是要能Synthesis成一般電路, 謝謝回答.. / F1 |) {) W+ _; S ) C$ s! P) _( T$ Y- W, b" G8 r3 J[ 本帖最後由 shlee 於 2006-10-31 01:32 PM 編輯 ]作者: ssejack1 時間: 2006-11-3 08:11 PM
CLKA rise/ CLKB rise, 如於 asynchronous system 中 使用 gate delay 取的 rise edge 的 pulse, % ~! o. v q; e3 ?6 Q L. |( t PLUSA = CLKA & (!CLKA_DELAY),PLUSB = CLKB & (!CLKB_DELAY);接下來以 RS 正反器就可以啦! 7 P0 V2 F- o" r5 l1 @ 7 V4 v# E [. X, \. C5 I8 Jif ( PLUSA = '1') then - `* H+ {: K* q2 ?+ a/ @ OUTPUT <= '0';0 w) \( E) ?9 E' H" B! [; F
elsif( PLUSB ='1') then/ I ^5 y7 e6 z
OUTPUT <='1'; , h8 M+ O* U/ W' A- U% \end if;作者: fpgacpld 時間: 2006-12-14 05:19 PM 標題: 回復 #1 shlee 的帖子 Actually, you must check the library, for example, when using Xilinx FPGA., H# o8 ?* Z& } n0 B$ t/ }
They provide Dual Edge FlipFlop, You can just instantiate it., b7 ~# v; {5 p# w4 g
5 n* o* Q6 U2 o) ~6 p# [IF you're using ASIC or Other FPGA product, usually they also provide similar component!) @! i; d n0 k$ I
6 h/ q2 m% ]" Y( U3 u# \
the attached example fdd.jeg is the Xilinx Dual Edge FF component!作者: tommywgt 時間: 2007-4-30 02:49 PM 標題: dual clock的暫存器其實就是用二個暫存器做出來的 如標題所示, 這是一般的做法, 使用FPGA時就如同fpgacpld所講的呼叫library, 用ASIC的話也是有相對應的library可以用