From: "Abraham Henry Vlok" Newsgroups: comp.arch.fpga Subject: Clockin on rising AND falling edge Date: Thu, 20 Sep 2001 10:46:38 +0200 Organization: University of Pretoria Lines: 13 Message-ID: <1000975615.844285@nntp.up.ac.za> NNTP-Posting-Host: nntp.up.ac.za X-Trace: ctb-nnrp1.saix.net 1000975616 6468 137.215.1.48 (20 Sep 2001 08:46:56 GMT) X-Complaints-To: abuse@saix.net NNTP-Posting-Date: 20 Sep 2001 08:46:56 GMT X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.00.2615.200 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2615.200 Cache-Post-Path: nntp.up.ac.za!unknown@b171pc048.up.ac.za X-Cache: nntpcache 2.3.3 (see http://www.nntpcache.org/) Path: chonsp.franklin.ch!pfaff.ethz.ch!news-zh.switch.ch!news-ge.switch.ch!news.tele.dk!small.news.tele.dk!212.74.64.35!colt.net!dispose.news.demon.net!demon!btnet-peer0!btnet!ctb-nntp1.saix.net!not-for-mail Xref: chonsp.franklin.ch comp.arch.fpga:10049 Hi all, Can anybody tell me how I can clock 'a process on the rising AND falling edge of a clock signal ? I want to do something like : <<<<>>>> but it doesn't work. Please help Abraham ###### From: Andy Green Newsgroups: comp.arch.fpga Subject: Re: Clockin on rising AND falling edge X-Newsreader: Nographer Free, Open Source, News in your Browser - http://nographer.com References: <1000975615.844285@nntp.up.ac.za> Lines: 21 Message-ID: Date: Thu, 20 Sep 2001 10:27:32 GMT NNTP-Posting-Host: 213.107.145.119 X-Complaints-To: abuse@ntlworld.com X-Trace: news2-win.server.ntlworld.com 1000981652 213.107.145.119 (Thu, 20 Sep 2001 11:27:32 BST) NNTP-Posting-Date: Thu, 20 Sep 2001 11:27:32 BST Organization: ntl Cablemodem News Service Path: chonsp.franklin.ch!pfaff.ethz.ch!news-zh.switch.ch!news-ge.switch.ch!news.tele.dk!small.news.tele.dk!212.74.64.35!colt.net!newspeer.clara.net!news.clara.net!news5-gui.server.ntli.net!ntli.net!news2-win.server.ntlworld.com.POSTED!not-for-mail Xref: chonsp.franklin.ch comp.arch.fpga:10051 Can't be done on Xilinx, anyhow; the hardware in the FPGA can only operate on one edge or the other. Instead you should double your clock speed. |Hi all, | |Can anybody tell me how I can clock 'a process on the rising AND falling |edge of a clock signal ? | |I want to do something like : |<<<<>>>> |but it doesn't work. | |Please help |Abraham -- Posted using Nographer - News in your Browser http://www.nographer.com - free, open source, and smart ###### From: "Panu H" Newsgroups: comp.arch.fpga Subject: Re: Clockin on rising AND falling edge Date: Thu, 20 Sep 2001 14:03:50 +0300 Organization: Tampere University of Technology Lines: 15 Message-ID: <9ociem$s7d$1@news.cc.tut.fi> References: <1000975615.844285@nntp.up.ac.za> NNTP-Posting-Host: mylly.digitalsystems.cs.tut.fi X-Trace: news.cc.tut.fi 1000983830 28909 130.230.47.80 (20 Sep 2001 11:03:50 GMT) X-Complaints-To: abuse@tut.fi NNTP-Posting-Date: Thu, 20 Sep 2001 11:03:50 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4807.1700 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700 Path: chonsp.franklin.ch!pfaff.ethz.ch!news-zh.switch.ch!news-ge.switch.ch!news.tele.dk!small.news.tele.dk!194.213.69.151!news.algonet.se!newsfeed1.telenordia.se!algonet!newsfeed1.funet.fi!newsfeeds.funet.fi!news.cc.tut.fi!not-for-mail Xref: chonsp.franklin.ch comp.arch.fpga:10054 > |I want to do something like : > |<<<<>>>> > |but it doesn't work. It is not possible that clk is 1 and 0 at the same time. Maybe like this: if (clk'event and clk = '1') or (clk'event and clk = '0') then ... or: if clk'event then ... -- Panu ###### From: "Abraham Henry Vlok" Newsgroups: comp.arch.fpga Subject: Re: Clockin on rising AND falling edge Date: Thu, 20 Sep 2001 15:02:31 +0200 Organization: University of Pretoria Lines: 21 Message-ID: <1000990968.542535@nntp.up.ac.za> References: <1000975615.844285@nntp.up.ac.za> <9ociem$s7d$1@news.cc.tut.fi> NNTP-Posting-Host: nntp.up.ac.za X-Trace: ctb-nnrp2.saix.net 1000990968 18768 137.215.1.48 (20 Sep 2001 13:02:48 GMT) X-Complaints-To: abuse@saix.net NNTP-Posting-Date: 20 Sep 2001 13:02:48 GMT X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.00.2615.200 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2615.200 Cache-Post-Path: nntp.up.ac.za!unknown@b171pc048.up.ac.za X-Cache: nntpcache 2.3.3 (see http://www.nntpcache.org/) Path: chonsp.franklin.ch!pfaff.ethz.ch!news-zh.switch.ch!news.ifi.unizh.ch!news.imp.ch!news.imp.ch!fr.clara.net!heighliner.fr.clara.net!newsfeed.wirehub.nl!diablo.theplanet.net!btnet-peer!btnet-peer0!btnet!ctb-nntp1.saix.net!not-for-mail Xref: chonsp.franklin.ch comp.arch.fpga:10050 Tried that aswell. It doesn't work. thankx anyway. Panu H wrote in message news:9ociem$s7d$1@news.cc.tut.fi... > > |I want to do something like : > > |<<<<>>>> > > |but it doesn't work. > > It is not possible that clk is 1 and 0 at the same time. > > Maybe like this: > if (clk'event and clk = '1') or (clk'event and clk = '0') then ... > or: > if clk'event then ... > > -- Panu > > > ###### From: "Andrew Brown" Newsgroups: comp.arch.fpga Subject: Re: Clockin on rising AND falling edge Date: Thu, 20 Sep 2001 16:24:12 +0100 Organization: Nortel Networks Lines: 7 Message-ID: <9od1nt$ejh$1@qnsgh006.europe.nortel.com> References: <1000975615.844285@nntp.up.ac.za> <9ociem$s7d$1@news.cc.tut.fi> <1000990968.542535@nntp.up.ac.za> Reply-To: "Andrew Brown" NNTP-Posting-Host: pireyamd.europe.nortel.com X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.00.2314.1300 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 Path: chonsp.franklin.ch!pfaff.ethz.ch!news-zh.switch.ch!news-ge.switch.ch!news.tele.dk!small.news.tele.dk!212.54.64.131!news100.image.dk!cass.news.pipex.net!pipex!znsgs00r.europe.nortel.com!qnsgh006.europe.nortel.com!not-for-mail Xref: chonsp.franklin.ch comp.arch.fpga:10064 Abraham Henry Vlok wrote in message news:1000990968.542535@nntp.up.ac.za... > Tried that aswell. It doesn't work. Doesn't work in simulation or synthesis? ###### From: Peter Alfke Newsgroups: comp.arch.fpga Subject: Re: Clockin on rising AND falling edge Date: Thu, 20 Sep 2001 10:25:20 -0700 Organization: Xilinx Lines: 27 Message-ID: <3BAA2680.6DC4BCC0@xilinx.com> References: <1000975615.844285@nntp.up.ac.za> Reply-To: peter.alfke@xilinx.com NNTP-Posting-Host: peter.xsj.xilinx.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; x-mac-type="54455854"; x-mac-creator="4D4F5353" Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 4.7 (Macintosh; U; PPC) X-Accept-Language: en To: Abraham Henry Vlok Path: chonsp.franklin.ch!pfaff.ethz.ch!news-zh.switch.ch!news-ge.switch.ch!news.maxwell.syr.edu!cpk-news-hub1.bbnplanet.com!nycmny1-snh1.gtei.net!cambridge1-snf1.gtei.net!news.gtei.net!bos-service1.ext.raytheon.com!attla1!ip.att.net!newsgate.xilinx.com!cliff.xsj.xilinx.com!not-for-mail Xref: chonsp.franklin.ch comp.arch.fpga:10046 You first have to generate a double-frequency clock. It's easy and uses only one ff, one inverter,and one XOR: Feed the input frequency into the XOR, feed the other input of the XOR together with the D input of the flip-flop from the inverted Q output of that flip-flop. Then use the XOR output to clock the flip-flop, and also use the XOR as the double-frequency output. Now you have a double-frequency clock and can do anything you want. Virtex circuits give you the clock doubling for free in their Digital Clock Manager circuit. Peter Alfke, Xilinx Applications. =========================== Abraham Henry Vlok wrote: > Hi all, > > Can anybody tell me how I can clock 'a process on the rising AND falling > edge of a clock signal ? > > I want to do something like : > <<<<>>>> > but it doesn't work. > > Please help > Abraham ###### From: Philip Freidin Newsgroups: comp.arch.fpga Subject: Re: Clockin on rising AND falling edge Organization: Fliptronics Reply-To: philip@fliptronics.com Message-ID: <7h3lqt8ghvugpi0tsagrs6act9r3o54h3s@4ax.com> References: <1000975615.844285@nntp.up.ac.za> X-Newsreader: Forte Agent 1.8/32.548 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Lines: 30 Date: Thu, 20 Sep 2001 17:47:55 -0700 NNTP-Posting-Host: 216.103.85.188 X-Complaints-To: abuse@pacbell.net X-Trace: news.pacbell.net 1001033296 216.103.85.188 (Thu, 20 Sep 2001 17:48:16 PDT) NNTP-Posting-Date: Thu, 20 Sep 2001 17:48:16 PDT Path: chonsp.franklin.ch!pfaff.ethz.ch!news-zh.switch.ch!news-ge.switch.ch!newsfeed.mathworks.com!feeder.qis.net!feed2.onemain.com!feed1.onemain.com!cyclone-sf.pbi.net!207.115.63.139!newsmst01.news.prodigy.com!prodigy.com!news.pacbell.net.POSTED!not-for-mail Xref: chonsp.franklin.ch comp.arch.fpga:10094 On Thu, 20 Sep 2001 10:46:38 +0200, "Abraham Henry Vlok" wrote: >Hi all, > >Can anybody tell me how I can clock 'a process on the rising AND falling >edge of a clock signal ? I bet you mean OR >I want to do something like : ><<<<>>>> >but it doesn't work. Probably just this: if (clock_in'event) then but although this might be acceptable to simulation, this won't be synthesizable. >Please help >Abraham > Philip Philip Freidin Fliptronics ###### From: hamish@cloud.net.au Subject: Re: Clockin on rising AND falling edge Newsgroups: comp.arch.fpga References: <1000975615.844285@nntp.up.ac.za> <9ociem$s7d$1@news.cc.tut.fi> <1000990968.542535@nntp.up.ac.za> User-Agent: tin/1.5.8-20010221 ("Blue Water") (UNIX) (Linux/2.2.18 (i586)) Lines: 23 Message-ID: Date: Sun, 23 Sep 2001 14:03:15 GMT NNTP-Posting-Host: 203.164.64.6 X-Complaints-To: abuse@optushome.com.au X-Trace: news1.rdc1.nsw.optushome.com.au 1001253795 203.164.64.6 (Mon, 24 Sep 2001 00:03:15 EST) NNTP-Posting-Date: Mon, 24 Sep 2001 00:03:15 EST Organization: @Home Network Path: chonsp.franklin.ch!pfaff.ethz.ch!news-zh.switch.ch!news.ifi.unizh.ch!news.imp.ch!news.imp.ch!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!hammer.uoregon.edu!enews.sgi.com!harbinger.cc.monash.edu.au!newshub1.rdc1.nsw.optushome.com.au!news1.rdc1.nsw.optushome.com.au.POSTED!not-for-mail Xref: chonsp.franklin.ch comp.arch.fpga:10117 lennart wrote: > You can never use a rising and a falling edge of a signal in a process. You can, you just can't synthesise it. It's quite useful in simulation (only) to register some DDR signals using reg_ddr: process (ddr_clk) begin if ddr_clk'event then ddr_q <= ddr_d; end if; end process; I contacted Synplicity support a while ago and asked if Synplify could infer the DDR outputs available in the Virtex-II; they told me it was illegal in VHDL :-( I'm not sure what that means. Hamish -- Hamish Moffatt VK3SB ###### Sender: przemek@przemek Newsgroups: comp.arch.fpga Subject: Re: Clockin on rising AND falling edge References: <1000975615.844285@nntp.up.ac.za> <3BAA2680.6DC4BCC0@xilinx.com> From: przemek X-Newsreader: Gnus v5.7/Emacs 20.4 Message-ID: Lines: 15 Date: Mon, 24 Sep 2001 05:23:59 GMT NNTP-Posting-Host: 65.1.244.188 X-Complaints-To: abuse@home.net X-Trace: news1.rdc1.md.home.com 1001309039 65.1.244.188 (Sun, 23 Sep 2001 22:23:59 PDT) NNTP-Posting-Date: Sun, 23 Sep 2001 22:23:59 PDT Organization: Excite@Home - The Leader in Broadband http://home.com/faster Path: chonsp.franklin.ch!pfaff.ethz.ch!news-zh.switch.ch!news-ge.switch.ch!newsfeed.mathworks.com!wn3feed!worldnet.att.net!24.0.0.38!newshub2.rdc1.sfba.home.com!news.home.com!news1.rdc1.md.home.com.POSTED!not-for-mail Xref: chonsp.franklin.ch comp.arch.fpga:10128 Peter Alfke writes: > You first have to generate a double-frequency clock. > It's easy and uses only one ff, one inverter,and one XOR: > Feed the input frequency into the XOR, feed the other input of the XOR together > with the D input of the flip-flop from the inverted Q output of that flip-flop. > Then use the XOR output to clock the flip-flop, and also use the XOR as the > double-frequency output. This circuit seems to make short ones of a single FF delay length. How is it better than a simple XOR gate fed with the input clock and a negated input clock (or an odd number of inverters, in a row)? -- przemek Klosowski (przemek@nist.gov) tel 301/975-6249 ###### Message-ID: <3BAEC877.61873A13@earthlink.net> From: Peter Alfke Reply-To: palfke@earthlink.net X-Mailer: Mozilla 4.61 (Macintosh; I; PPC) X-Accept-Language: en,pdf MIME-Version: 1.0 Newsgroups: comp.arch.fpga Subject: Re: Clockin on rising AND falling edge References: <1000975615.844285@nntp.up.ac.za> <3BAA2680.6DC4BCC0@xilinx.com> Content-Type: text/plain; charset=us-ascii; x-mac-type="54455854"; x-mac-creator="4D4F5353" Content-Transfer-Encoding: 7bit Lines: 25 Date: Mon, 24 Sep 2001 05:45:42 GMT NNTP-Posting-Host: 209.179.194.115 X-Complaints-To: abuse@earthlink.net X-Trace: newsread2.prod.itd.earthlink.net 1001310342 209.179.194.115 (Sun, 23 Sep 2001 22:45:42 PDT) NNTP-Posting-Date: Sun, 23 Sep 2001 22:45:42 PDT Organization: EarthLink Inc. -- http://www.EarthLink.net X-Received-Date: Sun, 23 Sep 2001 22:42:20 PDT (newsmaster1.prod.itd.earthlink.net) Path: chonsp.franklin.ch!pfaff.ethz.ch!news-zh.switch.ch!news-ge.switch.ch!newsfeed.mathworks.com!news.voicenet.com!feed2.news.rcn.net!rcn!newsfeed1.earthlink.net!newsfeed.earthlink.net!newsmaster1.prod.itd.earthlink.net!newsread2.prod.itd.earthlink.net.POSTED!not-for-mail Xref: chonsp.franklin.ch comp.arch.fpga:10129 I think it is safer, since it includes the toggling of a flip-flop. So the pulse will never be so short that it does not toggle a flip-flop. And also, it is no more expensive than the basic circuit you describe. Flip-flops are cheap :-) Peter Alfke, Xilinx Applications ================================== przemek wrote: > Peter Alfke writes: > > > You first have to generate a double-frequency clock. > > It's easy and uses only one ff, one inverter,and one XOR: > > Feed the input frequency into the XOR, feed the other input of the XOR together > > with the D input of the flip-flop from the inverted Q output of that flip-flop. > > Then use the XOR output to clock the flip-flop, and also use the XOR as the > > double-frequency output. > > This circuit seems to make short ones of a single FF delay length. > How is it better than a simple XOR gate fed with the input clock and a > negated input clock (or an odd number of inverters, in a row)? > > -- > przemek Klosowski (przemek@nist.gov) tel 301/975-6249 ###### Message-ID: <3BAEF482.3C95@designtools.co.nz> From: Jim Granville Reply-To: jim.granville@designtools.co.nz Organization: Mandeno Granville elect X-Mailer: Mozilla 3.0C-XTRA (Win95; I) MIME-Version: 1.0 Newsgroups: comp.arch.fpga Subject: Re: Clockin on rising AND falling edge References: <1000975615.844285@nntp.up.ac.za> <3BAA2680.6DC4BCC0@xilinx.com> <3BAEC877.61873A13@earthlink.net> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Lines: 31 Date: Mon, 24 Sep 2001 20:53:22 +1200 NNTP-Posting-Host: 203.79.102.237 X-Complaints-To: abuse@tsnz.net X-Trace: news02.tsnz.net 1001316249 203.79.102.237 (Mon, 24 Sep 2001 19:24:09 NZST) NNTP-Posting-Date: Mon, 24 Sep 2001 19:24:09 NZST Path: chonsp.franklin.ch!pfaff.ethz.ch!news-zh.switch.ch!news.ifi.unizh.ch!news.imp.ch!news.imp.ch!uni-erlangen.de!news-nue1.dfn.de!news-lei1.dfn.de!news-was.dfn.de!newsfeed.media.kyoto-u.ac.jp!newsfeed01.tsnz.net!news02.tsnz.net!not-for-mail Xref: chonsp.franklin.ch comp.arch.fpga:10131 Peter Alfke wrote: > > I think it is safer, since it includes the toggling of a flip-flop. So the pulse > will never be so short that it does not toggle a flip-flop. > And also, it is no more expensive than the basic circuit you describe. Flip-flops > are cheap :-) > > Peter Alfke, Xilinx Applications > ================================== > przemek wrote: > > > Peter Alfke writes: > > > > > You first have to generate a double-frequency clock. > > > It's easy and uses only one ff, one inverter,and one XOR: > > > Feed the input frequency into the XOR, feed the other input of the XOR together > > > with the D input of the flip-flop from the inverted Q output of that flip-flop. > > > Then use the XOR output to clock the flip-flop, and also use the XOR as the > > > double-frequency output. > > > > This circuit seems to make short ones of a single FF delay length. > > How is it better than a simple XOR gate fed with the input clock and a > > negated input clock (or an odd number of inverters, in a row)? Also, some tools will optimise out the redundant inverters, unless watched carefully :-) You can, of course, add a 'delay line' in the Q->XOR path, and so widen the pulse, if desired. -jg