Site Home Archive Home FAQ Home How to search the Archive How to Navigate the Archive
Compare FPGA features and resources
Threads starting:
Authors:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
El jueves, 22 de enero de 2015, 11:05:25 (UTC-3), Leo escribi=F3: > Hello, I want to send a pulse from one clock domain to another, knowing t= hat from the time event that this pulse is generated in the source clock do= main it arrives in the first rising edge of the destination clock domain an= d lasts exactly one clock period of the destination clock domain. Now, I kn= ow this problem is not generic and is subject to timing constraints and clo= ck frequency/phase relationship. So the question would be, how to implement= it best in RTL with Xilinx technology and what time constraints to apply f= rom source to destination FF. In particular the destination clock is a litt= le over half of the source clock frequency, the phase between them is unkno= wn and may change over time. >=20 > Currently my idea is to use the asynchronous preset/clear of the destinat= ion FF, which would mean that on an specific part (Xilinx Spartan 6 or 7-se= ries FPGAs) there must be some relation between the clocks that allows the = minimum pulse width and propagation of the asynchronous signal. >=20 > Any help is appreaciated. Thanks to all. "Pulse-toggle-pulse synchronizer" proposed by Rob Gaddi is w= hat I need. The current architecture allows me to "aim" to a flank of the r= eceiver clock (within certain limits) so that no undefined latency issues a= rise (due to setup/hold violations or metastability).Article: 157676
Hi, I am trying to create a comparison list between various FPGAs in the Xilinx universe. The unisim library lists all primitives, but not all of the primitives listed in unisim are available in all architectures. I have been poking around in ISE to try to find which file describes what primitives are available in, say zynq 7c010. Spartan-6 would have the primitive ISERDES2 while zynq would have ISERDESE2. Anybody know where the per chip available primitives are stored? -- SvennArticle: 157677
Hello, What are the practical pros and cons of using each of ISE or Vivado for the Artix-7 family? I am interested in the basic synthesis/map/routing/STA steps. Aside from possible speed increase in Vivado, do the synthesis/map/route perform better by generating smaller and/or faster logic? In general, my question is whether it's really worth it learning Vivado in the context of Artix-7 only. No Zynq plans so far. I also use older Xilinx families, so sticking to ISE is justified. Any personal comparison between the two tools is also very welcome. Thanks, -- VladArticle: 157678
On 27/01/15 19:23, Vladimir Ivanov wrote: > > Hello, > > What are the practical pros and cons of using each of ISE or Vivado for the > Artix-7 family? > > I am interested in the basic synthesis/map/routing/STA steps. Aside from > possible speed increase in Vivado, do the synthesis/map/route perform better by > generating smaller and/or faster logic? > > In general, my question is whether it's really worth it learning Vivado in the > context of Artix-7 only. No Zynq plans so far. I also use older Xilinx families, > so sticking to ISE is justified. > > Any personal comparison between the two tools is also very welcome. My impression, and that is all it is, is that ISE has reached the end of the road and Vivado is the future. That seems reasonable for tomorrows even larger devices, Zynq or otherwise. Hence staying using ISE is likely to be limiting in the long run.Article: 157679
So, the following ROM initialization code should be entirely synthesizable. Not so, according to the latest version of Vivado, which proudly declares "ignoring unsynthesizable construct: non-synthesizable procedure call", zeros out my ROM, and then optimizes it away. And yes, I have ways to work around this (though they force me to carry far too much of the policy from my VHDL back into my coefficient generating code). I just wanted to call out, in a public forum, that the inability to handle something as trivial as this points out how fundamentally brain-damaged this software is. I'd submit a WebCase, but the bean-counters at Xilinx have decided to no longer accept those for fear that customers may want support, or worse yet report bugs. ---- function create_index( filter : integer range 0 to 1; phase : integer range 0 to 63; tap : integer range 0 to 14 ) return natural is begin return (filter * 1024) + (tap * 64) + phase; end function create_index; constant LONGFILTER : integer := 0; constant SHORTFILTER : integer := 1; type t_coef is record c : signed(17 downto 0); -- S1.17 dc : signed(17 downto 0); -- S1.17 end record; type t_coef_rom is array(0 to 2047) of t_coef; impure function GetCoefROM return t_coef_rom is -- Load up our filter coefficients from a file. The file format is -- 960 lines of (c dc) pairs, all as real numbers. -- variable rv : t_coef_rom; procedure GetFilterData ( filename : string; filter : integer ) is file src : text open READ_MODE is filename; variable ln : line; variable c : integer range -(2**17) to (2**17)-1; variable dc : integer range -(2**17) to (2**17)-1; variable r : real; variable phase : integer range 0 to 63 := 0; variable tap : integer := 0; variable idx : integer range rv'range; variable lines : natural := 0; begin while not endfile(src) loop readline(src, ln); read(ln, r); c := INTEGER(round(r * 2.0**17)); read(ln, r); dc := INTEGER(round(r * 2.0**17)); idx := create_index(filter, phase, tap); rv(idx).c := TO_SIGNED(c, 18); rv(idx).dc := TO_SIGNED(dc, 18); if phase = 63 then phase := 0; tap := tap + 1; else phase := phase + 1; end if; lines := lines + 1; end loop; deallocate(ln); write(ln, string'("Read ")); write(ln, lines); write(ln, string'(" lines from ")); write(ln, filename); writeline(OUTPUT, ln); end procedure GetFilterData; begin for i in rv'range loop rv(i) := (others => (others => '0')); end loop; GetFilterData("longfilter.txt", LONGFILTER); GetFilterData("shortfilter.txt", SHORTFILTER); return rv; end function GetCoefROM; -- Giant table of FIR coefficients. signal coef_rom : t_coef_rom := GetCoefROM; -- Rob Gaddi, Highland Technology -- www.highlandtechnology.com Email address domain is currently out of order. See above to fix.Article: 157680
Hi, TimeQuest says it uses two hold checks per each setup check. The first hold check for previous latch edge with current launch edge and second check for current latch edge with next launch edge. It then gives a diagram which makes sense as one hold check could miss the most restrictive case. The diagram is based on different clocks (possibly latch is at half speed). My question is: who will use such clocking and what about other cases of clock frequency mismatch? Regards Kaz --------------------------------------- Posted through http://www.FPGARelated.comArticle: 157681
On Tue, 27 Jan 2015, Tom Gardner wrote: > On 27/01/15 19:23, Vladimir Ivanov wrote: >> >> Hello, >> >> What are the practical pros and cons of using each of ISE or Vivado >> for the >> Artix-7 family? >> >> I am interested in the basic synthesis/map/routing/STA steps. Aside >> from >> possible speed increase in Vivado, do the synthesis/map/route perform >> better by >> generating smaller and/or faster logic? >> >> In general, my question is whether it's really worth it learning >> Vivado in the >> context of Artix-7 only. No Zynq plans so far. I also use older Xilinx >> families, >> so sticking to ISE is justified. >> >> Any personal comparison between the two tools is also very welcome. > > My impression, and that is all it is, is that ISE has reached the > end of the road and Vivado is the future. That seems reasonable > for tomorrows even larger devices, Zynq or otherwise. > > Hence staying using ISE is likely to be limiting in the long run. True, but for anything older than the 7 series (Spartan and CPLDs) ISE is the only choice, so it will be around for a long time, too. Except if a miracle happens.Article: 157682
Hi Guys, Are there any differences between instantiating components and using generate statement in hierarchical structure design?? Thanks, Abdullah --------------------------------------- Posted through http://www.FPGARelated.comArticle: 157683
Since the destination is running at lower speed than your source, all what you need is a level-alternative scheme at the source to stretch out your pulse width and at the destination side you will need a synchronizer along with a dual edge detector. BTW, in this case, you do not have to be worried about the timing constraint violations. Abdullah --------------------------------------- Posted through http://www.FPGARelated.comArticle: 157684
In article <alpine.DEB.2.02.1501272109300.5159@zztop.nucleusys.com>, Vladimir Ivanov <vladitx@nucleusys.com> wrote: > >Hello, > >What are the practical pros and cons of using each of ISE or Vivado for >the Artix-7 family? > >I am interested in the basic synthesis/map/routing/STA steps. Aside from >possible speed increase in Vivado, do the synthesis/map/route perform >better by generating smaller and/or faster logic? > >In general, my question is whether it's really worth it learning Vivado in >the context of Artix-7 only. No Zynq plans so far. I also use older Xilinx >families, so sticking to ISE is justified. > >Any personal comparison between the two tools is also very welcome. Vladimir, I'm in the same boat as you - supporting both "7 series" and above devices, and older Xilinx technologies. Only certain 7-series devices allow you the option of ISE or vivado, so a lot of the time the decision is made for you. I did use one of the devices where we had a choice - migrating a Virtex 6, to a Kintex 7. At first, to maintain our flows we went with ISE. After getting our Vivado flows clean (which took WAY more time than it should have, but that's another story..), We're now using Vivado. The QOR is MUCH better - both better run times, and better timing results. Many of our designs which had great difficulty meeting timing with ISE, went through first time in Vivado and worked. The TCL flows are more powerful. The constraint format - XDC files - is leaps and bounds better than UCF (ugh.), but not without warts. Once you get used to it, and setup your flows, you won't look back. For the most part, we don't have to kludge up many of our source RTL files to work with either ISE or Vivado. There's a few exceptions, but nothing big. Regards, MarkArticle: 157685
On Monday, March 4, 2013 at 3:33:34 PM UTC+5:30, Jon wrote: > You can put a $readmemh to initialise the memory. > > reg [data_width-1:0] memory[0:depth-1]; > > initial > begin > $readmemh("filename.hex", memory); > end > > Should work with both XST & Synplify. Hi Jon, I am trying to initialize BRAM witj readmemh function as you have written , however in simulation all locations are filled up with XXXXX.. ()don't care) values. I am using the code at :- http://www.testbench.in/TB_03_FILE_IO_TB.htmlArticle: 157686
On Tue, 27 Jan 2015, Mark Curry wrote: > In article <alpine.DEB.2.02.1501272109300.5159@zztop.nucleusys.com>, > Vladimir Ivanov <vladitx@nucleusys.com> wrote: >> >> Hello, >> >> What are the practical pros and cons of using each of ISE or Vivado for >> the Artix-7 family? >> >> I am interested in the basic synthesis/map/routing/STA steps. Aside from >> possible speed increase in Vivado, do the synthesis/map/route perform >> better by generating smaller and/or faster logic? >> >> In general, my question is whether it's really worth it learning Vivado in >> the context of Artix-7 only. No Zynq plans so far. I also use older Xilinx >> families, so sticking to ISE is justified. >> >> Any personal comparison between the two tools is also very welcome. > > Vladimir, > > I'm in the same boat as you - supporting both "7 series" and above > devices, and older Xilinx technologies. Only certain 7-series devices > allow you the option of ISE or vivado, so a lot of the time the > decision is made for you. > > I did use one of the devices where we had a choice - migrating a Virtex > 6, to a Kintex 7. At first, to maintain our flows we went with ISE. > After getting our Vivado flows clean (which took WAY more time than it > should have, but that's another story..), We're now using Vivado. The > QOR is MUCH better - both better run times, and better timing results. > Many of our designs which had great difficulty meeting timing with ISE, > went through first time in Vivado and worked. > > The TCL flows are more powerful. The constraint format - XDC files - > is leaps and bounds better than UCF (ugh.), but not without warts. > > Once you get used to it, and setup your flows, you won't look back. > > For the most part, we don't have to kludge up many of our source RTL > files to work with either ISE or Vivado. There's a few exceptions, > but nothing big. Hello Mark, And thanks for the summary. It covers my expectations that switching to Vivado will require extra time for getting used to, and then some for the not so negligible unpolished pieces. The latter, being unpredictable, was holding me mostly. With the heads up, I might as well give it a shot. -- VladArticle: 157687
El martes, 27 de enero de 2015, 16:46:58 (UTC-3), Rob Gaddi escribi=F3: > So, the following ROM initialization code should be entirely > synthesizable. Not so, according to the latest version of Vivado, > which proudly declares "ignoring unsynthesizable construct: > non-synthesizable procedure call", zeros out my ROM, and then optimizes > it away. >=20 > And yes, I have ways to work around this (though they force me to carry > far too much of the policy from my VHDL back into my coefficient > generating code). I just wanted to call out, in a public forum, that > the inability to handle something as trivial as this points out how > fundamentally brain-damaged this software is. I'd submit a WebCase, > but the bean-counters at Xilinx have decided to no longer accept those > for fear that customers may want support, or worse yet report bugs. >=20 > ---- >=20 > function create_index( > filter : integer range 0 to 1; > phase : integer range 0 to 63; > tap : integer range 0 to 14 > ) return natural is > begin > return (filter * 1024) + (tap * 64) + phase; > end function create_index; >=20 > constant LONGFILTER : integer :=3D 0; > constant SHORTFILTER : integer :=3D 1; >=20 > type t_coef is record > c : signed(17 downto 0); -- S1.17 > dc : signed(17 downto 0); -- S1.17 > end record; > type t_coef_rom is array(0 to 2047) of t_coef; >=20 > impure function GetCoefROM return t_coef_rom is > -- Load up our filter coefficients from a file. The file format is > -- 960 lines of (c dc) pairs, all as real numbers. > -- > variable rv : t_coef_rom; >=20 > procedure GetFilterData ( > filename : string; > filter : integer > ) is > file src : text open READ_MODE is filename; > variable ln : line; > variable c : integer range -(2**17) to (2**17)-1; > variable dc : integer range -(2**17) to (2**17)-1; > variable r : real; > =20 > variable phase : integer range 0 to 63 :=3D 0; > variable tap : integer :=3D 0; > variable idx : integer range rv'range; > variable lines : natural :=3D 0; > =20 > begin > while not endfile(src) loop > readline(src, ln); > read(ln, r); > c :=3D INTEGER(round(r * 2.0**17)); > read(ln, r); > dc :=3D INTEGER(round(r * 2.0**17)); > =20 > idx :=3D create_index(filter, phase, tap); > rv(idx).c :=3D TO_SIGNED(c, 18); > rv(idx).dc :=3D TO_SIGNED(dc, 18); > =20 > if phase =3D 63 then > phase :=3D 0; > tap :=3D tap + 1; > else > phase :=3D phase + 1; > end if; > lines :=3D lines + 1; > end loop; > =20 > deallocate(ln); > write(ln, string'("Read ")); > write(ln, lines); > write(ln, string'(" lines from ")); > write(ln, filename); > writeline(OUTPUT, ln); > =20 > end procedure GetFilterData; > =20 > begin > for i in rv'range loop > rv(i) :=3D (others =3D> (others =3D> '0')); > end loop; > =20 > GetFilterData("longfilter.txt", LONGFILTER); > GetFilterData("shortfilter.txt", SHORTFILTER); > return rv; > end function GetCoefROM; >=20 > -- Giant table of FIR coefficients. > signal coef_rom : t_coef_rom :=3D GetCoefROM; >=20 > --=20 > Rob Gaddi, Highland Technology -- www.highlandtechnology.com > Email address domain is currently out of order. See above to fix. Feel your frustation. I had a code that inferred blockRAMs perfectly accord= ing to XST guidelines. Run it on Vivado, and then suddenly my design took t= he 400% of the FFs in the FPGA. Also Vivado synthesis does not support dynamic loops, something like this i= s not allowed: --a is a variable for i in 0 to a-1 loop ... end loop; but this is allowed: --i, a are variables, MAX should be a constant, for example the max binary = ----value of an SLV i:=3D0; while i < MAX loop ...do something here i:=3Di+1; if i =3D a then exit; end if; end loop; Also...signals marked for debug do not have their name preserved at all tim= es, gets very frustrating going into the post-synthesis debug mode to add/r= emove them... I guess since it is very it is expected, but I wonder why they felt they sh= ould re-write XST from the beginning, and WHY, oh, WHY, leave Spartan6 out,= there is a still a market for Spartan 6.Article: 157688
El martes, 27 de enero de 2015, 16:46:58 (UTC-3), Rob Gaddi escribi=F3: > So, the following ROM initialization code should be entirely > synthesizable. Not so, according to the latest version of Vivado, > which proudly declares "ignoring unsynthesizable construct: > non-synthesizable procedure call", zeros out my ROM, and then optimizes > it away. >=20 > And yes, I have ways to work around this (though they force me to carry > far too much of the policy from my VHDL back into my coefficient > generating code). I just wanted to call out, in a public forum, that > the inability to handle something as trivial as this points out how > fundamentally brain-damaged this software is. I'd submit a WebCase, > but the bean-counters at Xilinx have decided to no longer accept those > for fear that customers may want support, or worse yet report bugs. >=20 > ---- >=20 > function create_index( > filter : integer range 0 to 1; > phase : integer range 0 to 63; > tap : integer range 0 to 14 > ) return natural is > begin > return (filter * 1024) + (tap * 64) + phase; > end function create_index; >=20 > constant LONGFILTER : integer :=3D 0; > constant SHORTFILTER : integer :=3D 1; >=20 > type t_coef is record > c : signed(17 downto 0); -- S1.17 > dc : signed(17 downto 0); -- S1.17 > end record; > type t_coef_rom is array(0 to 2047) of t_coef; >=20 > impure function GetCoefROM return t_coef_rom is > -- Load up our filter coefficients from a file. The file format is > -- 960 lines of (c dc) pairs, all as real numbers. > -- > variable rv : t_coef_rom; >=20 > procedure GetFilterData ( > filename : string; > filter : integer > ) is > file src : text open READ_MODE is filename; > variable ln : line; > variable c : integer range -(2**17) to (2**17)-1; > variable dc : integer range -(2**17) to (2**17)-1; > variable r : real; > =20 > variable phase : integer range 0 to 63 :=3D 0; > variable tap : integer :=3D 0; > variable idx : integer range rv'range; > variable lines : natural :=3D 0; > =20 > begin > while not endfile(src) loop > readline(src, ln); > read(ln, r); > c :=3D INTEGER(round(r * 2.0**17)); > read(ln, r); > dc :=3D INTEGER(round(r * 2.0**17)); > =20 > idx :=3D create_index(filter, phase, tap); > rv(idx).c :=3D TO_SIGNED(c, 18); > rv(idx).dc :=3D TO_SIGNED(dc, 18); > =20 > if phase =3D 63 then > phase :=3D 0; > tap :=3D tap + 1; > else > phase :=3D phase + 1; > end if; > lines :=3D lines + 1; > end loop; > =20 > deallocate(ln); > write(ln, string'("Read ")); > write(ln, lines); > write(ln, string'(" lines from ")); > write(ln, filename); > writeline(OUTPUT, ln); > =20 > end procedure GetFilterData; > =20 > begin > for i in rv'range loop > rv(i) :=3D (others =3D> (others =3D> '0')); > end loop; > =20 > GetFilterData("longfilter.txt", LONGFILTER); > GetFilterData("shortfilter.txt", SHORTFILTER); > return rv; > end function GetCoefROM; >=20 > -- Giant table of FIR coefficients. > signal coef_rom : t_coef_rom :=3D GetCoefROM; >=20 > --=20 > Rob Gaddi, Highland Technology -- www.highlandtechnology.com > Email address domain is currently out of order. See above to fix. Also, maybe someone could shed some light on this post: http://forums.xilin= x.com/t5/Synthesis/Different-Synthesis-Results/td-p/558576Article: 157689
Hi, I am working on Xilinx Spartan 3e Starter kit board which has DDR Ram. I have to transfer image file to DDR and store it for further manipulation using EDK.Please provide different techniques to transfer files in ddr using EDK. -- rashmic http://compgroups.net/comp.arch.fpga/Article: 157690
On Tue, 27 Jan 2015 11:46:56 -0800 Rob Gaddi <rgaddi@technologyhighland.invalid> wrote: > So, the following ROM initialization code should be entirely > synthesizable. Not so, according to the latest version of Vivado, > which proudly declares "ignoring unsynthesizable construct: > non-synthesizable procedure call", zeros out my ROM, and then optimizes > it away. > > And yes, I have ways to work around this (though they force me to carry > far too much of the policy from my VHDL back into my coefficient > generating code). I just wanted to call out, in a public forum, that > the inability to handle something as trivial as this points out how > fundamentally brain-damaged this software is. I'd submit a WebCase, > but the bean-counters at Xilinx have decided to no longer accept those > for fear that customers may want support, or worse yet report bugs. > > [snip] Follow up for using textio under Vivado. Not only can't it read reals from a file, but it can't read integers either. Not only that, but if you actually bother to use the 3 argument form with the GOOD output, it will always set GOOD to true even when it can't read anything. Just sloppy. A working textio for all the types defined in std has been a part of the spec for a LONG time. -- Rob Gaddi, Highland Technology -- www.highlandtechnology.com Email address domain is currently out of order. See above to fix.Article: 157691
On Tuesday, January 27, 2015 at 6:48:34 AM UTC-8, Svenn Are Bjerkem wrote: > Hi, > I am trying to create a comparison list between various FPGAs in the > Xilinx universe. The unisim library lists all primitives, but not all of > the primitives listed in unisim are available in all architectures. I > have been poking around in ISE to try to find which file describes what > primitives are available in, say zynq 7c010. Spartan-6 would have the > primitive ISERDES2 while zynq would have ISERDESE2. > > Anybody know where the per chip available primitives are stored? > > -- > Svenn This can be found in the Libraries Guide for each family. As an example UG953 documents the primitives that can be used within the 7 Series of FPGAs. Ed McGettigan -- Xilinx Inc.Article: 157692
Hello Leo, you may want to have a look at my pulse synchronizer, which is available on GitHub at: https://github.com/noasic/noasic/blob/master/components/pulse_synchronizer.vhd Regards, Guy Eschemann FPGA Consultant http://noasic.comArticle: 157693
Hello Rashmic, you can do this with the Xilinx Microprocessor Debugger (XMD) tool in EDK. Have a look at the "dow -data" command in UG111. Regards, Guy Eschemann FPGA Consultant http://noasic.comArticle: 157694
I've never run into the described problem, and I think that's because I've never tried to use an empty ROM. As soon as there is write capability, the tool can't optimize it away anymore. Maybe the problem could be fixed by implementing write access that is never used, but not so obviously that the tool would realize it. BTW, good luck with DATA2MEM... --------------------------------------- Posted through http://www.FPGARelated.comArticle: 157695
did it work? can you post the code please having the same issueArticle: 157696
Another board: https://dl.dropboxusercontent.com/u/53724080/PCBs/P350_12.jpg The microZed compute platform plugs into the middle. The application board has eight DAC channels with filters and amps, two ADC inputs, power supplies, BIST, stuff like that. We put some parts under the Zedboard, simple stuff that shouldn't need a lot of probing or anything. The only problem with MicroZed is that it uses a Xilinx FPGA, which requires the Vivado software, which really sucks. -- John Larkin Highland Technology, Inc picosecond timing precision measurement jlarkin att highlandtechnology dott com http://www.highlandtechnology.comArticle: 157697
I've been playing with atmels old stuff again... I can not seem to get their fitter to accept hierarchical edif. I am using the fitters from their WinCUPL download. the commandline I am using: wine fit1504 -ifmt EDIF -i a.edf -dev p1504c44 -JTAG=OFF the input file: http://members.aon.at/~aklamme4/scratch/afit/a.edf I get: [...] Checking IVL_LPM_RE_AND_2_1 ... Checking IVL_AND2 ... Checking INV_1 ... Checking IVL_LPM_RE_XNOR_2_1 ... Checking IVL_XNOR2 ... Checking INV_1 ... Checking IVL_LPM_RE_XNOR_2_1 ... Checking IVL_XNOR2 ... Checking IVL_LPM_RE_AND_2_1 ... Checking IVL_AND2 ... Checking INV_1 ... Checking IVL_LPM_RE_XNOR_2_1 ... Checking IVL_XNOR2 ... Checking IVL_LPM_RE_AND_2_1 ... Checking IVL_AND2 ... Checking INV_1 ... Checking INV_1 ... Checking IVL_LPM_RE_AND_2_1 ... Checking IVL_AND2 ... Checking INV_1 ... Checking IVL_LPM_RE_AND_2_1 ... Checking IVL_AND2 ... Checking IVL_LPM_RE_AND_2_1 ... Checking IVL_AND2 ... Checking IVL_LPM_RE_AND_2_1 ... Checking IVL_AND2 ... Checking IVL_LPM_RE_AND_2_1 ... Checking IVL_AND2 ... Checking IVL_LPM_RE_AND_2_1 ... Checking IVL_AND2 ... INTERNAL ERROR - Please contact your Hot-Line The IVL_AND2 is the last instance inside the bldc module, so the boo-boo seems to happen a bit later. The message is awfully unspecific, tho'. Strangely enough this one works: http://members.aon.at/~aklamme4/scratch/afit/test.edf (hand written to match aprim.lib from their old fit5_0.zip download) But it only uses bottom level cells... The edif files output by the fitters themselves(there's an option) do not work, because the port names mismatch: http://members.aon.at/~aklamme4/scratch/afit/ATF8255N.edn I have also tried producing output files that match atmel.std component library. but that gave the same results... after editing atmel.std a that came with their wincupl installation, as it seemed broken. I got those messages: `` Reading library ... Warning : gate dff9 defined 24 times Warning : gate dff5 defined 4 times Warning : gate dff8f defined 4 times `` (they have loads of identically named primitives in there...) What do I have to do to to get a.edf to fit? Does anybody spot an obvios mistek? I've used icarus verilog to generate the edif file the sources are there: https://github.com/klammerj/iverilog/tree/master/tgt-atf15 The verilog file that was used to generate the edif: https://raw.githubusercontent.com/klammerj/iverilog/master/tgt-atf15/v/bldc.vArticle: 157698
INFO: this very same post was posted to comp.arch.embedded with no follow up over few days, that's the reason why I decided to post it here where I hope to get more feedback. Hi everyone, I'm dealing with an mb-lite which is clone of the microblaze architecture and I'm trying to understand how the memory mapping works. We have memory mapped registers which are needed to exchange data between the uP and the FPGA and it should be pretty straight forward to map this memory into a segment in 'data memory', but unfortunately it seems the object-dump does not seem to show anything but a list of segments with no distinction between 'data memory' and 'instruction memory'. IIRC on similar Harvard Architectures (like the ADSP21xx) you could write the linker script to store data and instructions. I'm using a mb-gcc and I've looked to the ld refernce, but how can you specify that a set of registers need to go to the data memory to a specific address? Or is it implicitely assumed that .data segments would go to a 'data memory'? Anyone with any pointer? Al -- A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail? ----Android NewsGroup Reader---- http://usenet.sinaapp.com/Article: 157699
Hi, I have to work on a project related to FPGA (Altera DEI or Altera DEII) and computer architecture. Can anyone suggest good topics that I can work on individually (say for 3-4 months). Thank you in advance.
Site Home Archive Home FAQ Home How to search the Archive How to Navigate the Archive
Compare FPGA features and resources
Threads starting:
Authors:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z