Programming Lattice FPGAs on a Mac? - Page 1
Forum section: electronics / general

author: mr_darker
author_rank: Contributor
timestamp: November 13, 2018, 05:34:56 pm
content: Anyone out there using a Mac for Lattice FPGAs?Are there Mac alternatives for Lattice's Diamond IDE?I've never used one before and don't know of any other IDEs for FPGAs. Tried looking up 'open source FPGA IDE' and 'lattice diamond mac alternative' but didn't find anything. Am I doomed to find a windows PC?Looking to start messing around with my xo3 evaluation board, get acquainted with VHDL, the xo3 architecture, and hopefully soon use it in a design.Side question: Making an array of FPGAs, an array of arrays, aka a bigger array. Anything wrong with doing that to get bigger FPGAs for less money? (comparing Logic Blocks per dollar)

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 13, 2018, 06:09:17 pm
content: Not that I kow of. There are Windows and Linux versions.You can always run either of those on a virtual machine on your Mac instead of resorting to use a PC.

author: ataradov
author_rank: Super Contributor
timestamp: November 13, 2018, 06:27:03 pm
content: It it extremely hard to get it running even on Linux, where it is officially supported.

author: joshtyler
author_rank: Contributor
timestamp: November 13, 2018, 08:20:09 pm
content: Quote from: mr_darker on November 13, 2018, 05:34:56 pmIf you have what is essentially a monolithic design, that you intend to partition between FPGAs, you are creating a world of hurt for yourself! Whilst what you describe is technically feasible, you will have to partition your design into independent chunks with a minimal interface between chips which you define at the time of board creation (or at least define the number of pins and IO standard at board creation time). In addition it means that the partitions of your design have to have a roughly even split in terms of resource usage, which often is not the case. Not to mention the fact that you now have multiple designs to implement, multiple designs to meet timing on, multiple chips to program, each time you change your code, making your iteration time vastly greater. Assuming that you value your time, then you are likely better off buying the larger FPGA.Having said that, if you have the same design which you want to replicate multiple times (one instance per FPGA) then the approach you describe makes a lot of sense. It could also make sense if your design consisted of several largely independent blocks with a simple and well defined interface. (E.G. You have a video processing system, which feeds into a video encoder, and the interface between the two is just a pixel stream). You would likely be best off using a high speed serial interface (with an FPGA that has appropriate gigabit transceivers) between the FPGAs if you need high data throughput.

author: asmi
author_rank: Super Contributor
timestamp: November 13, 2018, 08:33:08 pm
content: Quote from: mr_darker on November 13, 2018, 05:34:56 pmIn short - forget it. It might work for some corner cases, but in general having one large FPGA is eons better than a bunch of smaller ones.

author: Bassman59
author_rank: Super Contributor
timestamp: November 13, 2018, 11:35:30 pm
content: Quote from: SiliconWizard on November 13, 2018, 06:09:17 pmI run Lattice Diamond in a Windows 7 VM on my Macs and the software works as expected. I can even program the chips with the HW-USBN-2B. No problems.

author: Bassman59
author_rank: Super Contributor
timestamp: November 13, 2018, 11:38:30 pm
content: Quote from: mr_darker on November 13, 2018, 05:34:56 pmI do. I run a Windows 7 VM in VMWare Fusion. It all works, even the USB programmer.QuoteThe interconnect between the various FPGAs will kill you. They'll kill you because of PCB routing congestion, they'll kill you because I/O speeds are usually slower than internal clock rates (use the PLL to bump you clock up), they'll kill you because of power consumption, they'll kill you because programming the FPGAs with JTAG means either a large JTAG chain or multiple JTAG connectors.

author: aandrew
author_rank: Frequent Contributor
timestamp: November 20, 2018, 04:31:30 am
content: Quote from: ataradov on November 13, 2018, 06:27:03 pmWhy do you say that? Perhaps I can help shed some light. I have the ICE40 stuff working on an Ubuntu VM that I'm accessing using xrdp (so I can just use any RDP client, my fave is Jump Desktop). The GUI works pretty much exactly the same as on Windows (and is considerably more archaic than the more popular Lattice Diamond or whatever they call the latest incarnation for their MachXO devices).What I wish was for better command line documentation. I've been trying to get a decent set of CLI commands so I can do away with the GUI and just build with a small Makefile.

author: ataradov
author_rank: Super Contributor
timestamp: November 20, 2018, 04:36:22 am
content: Quote from: aandrew on November 20, 2018, 04:31:30 amOk, I was talking about Lattice Diamond. I did not know they had a different IDE for ICE40. But even if it is the case, the original question was about Diamond.And unlike Altera and Xilinx stuff, you have to work to make it work.

author: ataradov
author_rank: Super Contributor
timestamp: November 20, 2018, 05:26:04 am
content: Well, I just tried to install iCEcube2 and it fails to recognize the host ID. Their official FAQ suggests renaming networking interface to "eth0", since that what is hard coded in their license check. And the solution is to edit udev rules to rename the interface. F that. They can keep their quality enterprise software.Why they insist on using that abomination of a license manager for free licenses is beyond me.

author: NiHaoMike
author_rank: Super Contributor
timestamp: November 20, 2018, 06:07:44 am
content: Micah Elizabeth Scott did a bit of ICE40 FPGA programming on a Mac, probably worth checking exactly how she did it.

author: ataradov
author_rank: Super Contributor
timestamp: November 20, 2018, 06:09:50 am
content: Quote from: NiHaoMike on November 20, 2018, 06:07:44 amYes, I've seen the streams. I'm waiting for the CrowdSupply campaign for that board she used. I know I can probably use some standard dev kit, but I'm in no hurry at the moment, but I will definitely investigate that toolchain.

author: Bassman59
author_rank: Super Contributor
timestamp: November 20, 2018, 06:16:04 pm
content: Quote from: ataradov on November 20, 2018, 05:26:04 amThat applies to ALL OF THE FPGA VENDORS.

author: ataradov
author_rank: Super Contributor
timestamp: November 20, 2018, 06:19:57 pm
content: Quote from: Bassman59 on November 20, 2018, 06:16:04 pmI'm not sure if Intel has removed it or jut made it totally seamless, but Quartus just works for me. I know I had to deal with it in the past with Xilinx as well, and when time came for a new FPGA project, I just went with Altera.

author: Bassman59
author_rank: Super Contributor
timestamp: November 20, 2018, 06:44:02 pm
content: Quote from: ataradov on November 20, 2018, 06:19:57 pmI have not looked at Altera in a couple of years, so I don't remember. Maybe Intel "Saw the light!" I've been in Microsemi (now Microchip) land for a couple of years so I haven't kept up on Brand A and Brand X.Here's a funny thing. The Microsemi fitter takes a long time to chug through my current design, and to get it to meet timing i need to do the multiple-runs thing. I thought it might be interesting to run the tools on Linux to see if there was any significant difference in performance. My computer, a Dell quad Core i7 of some sort, already had a spare hard drive inside that I was using for backup, so I decided to install the most recent CentOS (recommended by Microsemi) on it. That went OK, and I installed the Microsemi tools and tried to run them. Oh no, you need to download and install all of these other depedencies! Was I asked about installing those dependencies when I installed Linux? Not that I remember! Are these dependencies easy to install? Of course not!So I finally got the dependencies installed and went to launch Libero. Oh shit, forgot about the license nonsense. Get this: in order to run their free software, it wanted to me to install a licenseserver.That's when I gave up and rebooted back into Windows 7.I still don't understand why these companies all keep fucking with trying to get their software to run on Linux when they could choose a much more stable Unix variant that most people agree "just works" -- macOS.

author: aandrew
author_rank: Frequent Contributor
timestamp: November 20, 2018, 08:25:08 pm
content: Quote from: ataradov on November 20, 2018, 05:26:04 amYes, that is a problem. The Great Network Interface Renaming threw a lot of wrenches into the gears.What I did was to disable the new system. Basically adjust the kernel command line parameters to include "net.ifnames=0" and "biosdevname=0". For the GRUB bootloader, you find GRUB_CMDLINE_LINUX in /etc/default/grub.conf and change it thusly:GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"and run update-grub and then finally reboot. You can also do it through udev rules but this works well enough for me. It's not intuitive, but then again hardly anything about Linux is. :-)Quotelicenses for dev software is one of the most stupid things I've ever run across in this industry. Most of the tools are free anyway, so why bother with the licenses? paying for IP cores and licensing it to the PC is perhaps a good argument, but is still easy to work around and just causes trouble due to bad assumptions such as "the first network interface is always named eth0".

author: ataradov
author_rank: Super Contributor
timestamp: November 20, 2018, 09:09:39 pm
content: Quote from: aandrew on November 20, 2018, 08:25:08 pmOnly in the gears of poorly written software.I know how to change the name of the interface, I'm just not going to do that.

author: mr_darker
author_rank: Contributor
timestamp: November 20, 2018, 09:27:17 pm
content: Thanks for the advice! I just decided to stop being lazy and finally invest time to get my netbook that's got ArchLinux on it going and usable, so it's running Diamond now.Quote from: joshtyler on November 13, 2018, 08:20:09 pmThere is no single chip that comes anywhere near the amount of hardware that I am aiming for. Currently the plan is to make little "modules" containing like 25 or 100 FPGAs on each, and some ROM on the other side of each FPGA (saves on BGA routing if the pitch is similar, just going straight through). This scales the hardware and ROM equally. I want to make a linux kernel set up for FPGA computing, no processors. As far as I know, FPGA computers are only novelty video game systems, the only serious attempt i've found is COPACOBANA (which uses multiple FPGAS btw) which is meant for encryption cracking and doesn't really count as it has no operating system. I know it's a massive project likely, years long probably, and it's gonna be way more expensive in hardware to match a CPU. But ima do it anyways, if I can. Rather than allocating time on a processor core for processes, I intend to make a kernel that allocates HARDWARE for processes (and probably needs a hardware equivalent of virtual memory mapping). Starting out i've selected a FPGA that has nonvolatile-instant-on-background-reconfigurable configuration memory, as this takes care of a lotta FPGA issues, eventaully tho there's an FPGA that I'd like to migrate to that doesn't have these features, but has the most bang per buck in terms of hardware. A processorless reconfigurable computer is what i'm aiming for, bigger things later lol.Learned linux programs are mostly all distributed with source code, which makes me feel like there's a way to compile everything in a way optimized for FPGAs, rather than run a softCPU for anything that wasn't designed to be run on an FPGA. "We'll get there when we get there"The FPGA i'm starting out with is the Lattice MachXO3L (the version with flash memory isn't a good fit due to the 100k cycle life of the flash memory, it'd not last long being used as ram in a computer). Eventually, I feel switching to their ECP5 chips would offer the most bang for your buck, aka, make it the cheapest to scale the computer's power up, imagine there's no limit on how much power we need, so you just want the cheapest.Knowing little about FPGAs, having never programmed one, am i horribly wrong anywhere? Any major issues i'm not seeing?

author: ataradov
author_rank: Super Contributor
timestamp: November 20, 2018, 09:32:07 pm
content: Quote from: mr_darker on November 20, 2018, 09:27:17 pmAre you sure? 100 of MachXO3L will probably be covered by a single high-end Xilinx device.Quote from: mr_darker on November 20, 2018, 09:27:17 pmThis is a strange statement. Even if you have the code, you can't just magically compile for "FPGA". You still need something that will sequentially execute instructions, since that's what high level programming languages map to. Xilinx is trying some compile C into hardware thing, but it is a very different story.Quote from: mr_darker on November 20, 2018, 09:27:17 pmMake a board with just one and play with it first. You will then have realistic understanding if what FPGAs can and can't do.Realistically you can interconnect 6-8 high end FPGAs on a single boards, but they are already sold a finished products, and it is cheaper to buy one.With a 100 chips you will go mad ensuring signal integrity and writing constraints files.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: November 20, 2018, 09:40:32 pm
content: Quote from: aandrew on November 20, 2018, 08:25:08 pmMy guess is that they have to pay for at least some of the components - just look at how many different names appear in copyright messages when you do a compile.

author: rstofer
author_rank: Super Contributor
timestamp: November 21, 2018, 12:06:16 am
content: Quote from: mr_darker on November 20, 2018, 09:27:17 pmYou need to take a step back and truly understand what you get in an FPGA. You get logic, boxes and boxes of logic chips. Millions of flip-flops and a similar number of multiplexers. You get no 'computer' at all! If there is to be some kind of general purpose computing, you need to create a 'soft core' - some kind of CPU.There are some CPU cores that will run Linux and, of course, there are Z80 cores that will run most of the early arcade games. And 6502 cores and lots of PDP-11 projects.QuoteLike what? The non-volatile chips tend to be small, the bigger chips all use some form of EEPROM storage for the bitstream. In addition, the EEPROM can contain initial memory contents and, in some cases, multiple images.QuoteIn my view, you are attributing capabilities to FPGAs and compilers that simply don't exist. We can use C to describe hardware (I have never done it, I use VHDL) but when we want to start running application code, there needs to be some kind of processor to run it. Unless the application can be fully described in hardware. Maybe it can...

author: NiHaoMike
author_rank: Super Contributor
timestamp: November 21, 2018, 04:17:42 am
content: Quote from: Bassman59 on November 20, 2018, 06:44:02 pmBecause you want a nice machine to run that sort of software, preferably one that's not crazy overpriced for how well it performs.

author: james_s
author_rank: Super Contributor
timestamp: November 21, 2018, 05:29:48 am
content: Quote from: NiHaoMike on November 21, 2018, 04:17:42 amWhile Macs are expensive for what you get, the cost of the PC is peanuts compared to the cost of the engineer developing the HDL so I doubt the cost is really an issue. More likely it's a historical matter, FPGA development was being done on Windows PCs and Unix workstations back when the Mac was a niche product used in schools and graphic arts. By the time we had a Unix-based Mac OS, standard PC hardware running Windows or Linux was already entrenched. You don't see a lot of Macs in any kind of hardware design, there isn't much CAD/CAM/EDA/FPGA stuff for MacOS and with the direction Apple is going, I don't see that changing any time soon. My work issued laptop is a Macbook Pro and it's a nice machine for what I use it for, however to call it "Pro" is a joke. With the RAM and storage soldered to the motherboard, the only ports on it are USB-C, it wouldn't be my choice for hardwre development either. Apple is focused almost entirely on mobile devices.

author: rstofer
author_rank: Super Contributor
timestamp: November 21, 2018, 04:45:44 pm
content: Apple used to make it darn near impossible to develop software for their machines. Back in the very beginning, if you wanted to write code for the brand new Mac 128k, you had to get their permission and buy a Lisa machine to do it. And a Lisa cost $10,000 in those dollars. So, a lot of us lost interest and have never came back. To this day, I don't and won't own Apple products.I don't know how software development for Apple is today. I know it is a little awkward for iOS but it is possible to independently develop software.macOS has about 10x the percentage of desktops (nearly 14%) as Linux (about 1.6%) so, all else being equal in terms of stumbling blocks, you would think that everybody would pick macOS for their second release and just kiss off Linux altogether. At 84%, Windows is a given!http://gs.statcounter.com/os-market-share/desktop/worldwide/But I don't know if 'all else being equal in terms of stumbling blocks' applies to macOS but it represents 10x more machines than Linux.

author: james_s
author_rank: Super Contributor
timestamp: November 21, 2018, 05:06:22 pm
content: The Mac 128k came out nearly 35 years ago, it's a bit silly to compare current Apple products with that, the current offerings have nothing in common with the 68k generation. There is no particular challenge to developing software for OSX, it's BSD Unix under the skin afterall. I think the percentage of Linux desktops in the hardware design field is probably quite a bit higher than in elsewhere in tech though. Originally most of the FPGA software was written for Unix workstations and Linux started taking over that area before OSX was a thing. The software was ported to Windows because the vast number of Wintel machines out there made this an obvious choice.

author: Bassman59
author_rank: Super Contributor
timestamp: November 21, 2018, 05:42:48 pm
content: Quote from: rstofer on November 21, 2018, 04:45:44 pmYou described the original Mac development environment from 1984!With the release of Mac OS X 18 years ago, Apple offered a totally free (as in beer) set of development tools, Xcode, and that has continued to this day. There is no requirement that your Mac programs be distributed in their App Store. They do have a signing feature so users don't get the "unknown developer" complaints the first time a program is run.I work with a lot of scientific research and academic types, and none of them use Linux ... it's all on the Mac. The "why" is clear: they like the wealth of open-source scientific software available but they hate wasting time fucking about with Linux.

author: Bassman59
author_rank: Super Contributor
timestamp: November 21, 2018, 05:46:44 pm
content: Quote from: james_s on November 21, 2018, 05:06:22 pmHere's the hilarious thing, though. I remember back in the day when Xilinx XACT and the first versions of ISE ran on Windows and specific Unix variants -- IBM's and HP-UX. (I don't remember if Solaris was supported.) The users were clamoring for a Linux release, rightfully saying that it's all basically the same thing, right? Took forever, but finally Xilinx released Linux versions of ISE.The point, of course, is that you're right, and building for macOS -- which is Unix -- should be painless. But the FPGA tools are all just big piles of shit, anyway.Many of the microcontroller vendors have managed to release Windows, Mac and Linux versions of their tools -- Silicon Labs, for one. Sure, it's all Eclipse, but whatever, it all works.Kicad runs well on the three platforms. EAGLE does, too. Autodesk Fusion 360 runs well on my Macs. A few of the pro-audio applications I use run on the Mac as well as on Windows.

author: mr_darker
author_rank: Contributor
timestamp: November 21, 2018, 06:53:24 pm
content: QuoteThe XO3 is just to make things easier at first thanks to its nonvolatile setup n stuff. The ECP5 is the low cost one I aim to use once acquainted with the hardware. It's true that 100 of these chips can be covered by some high end FPGAs, but that's significantly more expensive, and even the highest end FPGA, I'd need multiple units of. 100 units of MachXO3s was a guesstimate number at a module size, stackable modules, might end up with over 100 modules some day (100000 MachXO3s, tho id probably switch to the ECP5 at that point as that's lotsa money). The ECP5 can be had at $1.20 per Thousand-CLBs, the only thing close to that is Intel's Cyclone VE at $1.80 (a new surprise I discovered, might be worth saved board space & simpler hardware management, tho costlier if broken and less surface area for heat if thats an issue). After you get higher end than the CycloneVE, Price per thousand CLBs rapidly increases to prices up to $55 per 1000-Stuff like ram is irrelivant due to the amount that'll be needed never going to exist even in high end FPGAs. Am I using the wrong spec? I know from one of dave's videos its a bit hard to compare, and I don't believe all logic elements are created equal, so I figure digikey's Logic Blocks filter is what I should use to get a general comparison.QuoteThose finished products you speak of are too small, no FPGA is big enough, there is never an end to power needed.100 chips, the idea is to make one single module, get it going good, and make tons of those to just "plug in" to eachother. Might be less per module might be more, we'll see. Signal integrity in FPGAs isn't something I know much about, so there might be one of the unknowns I was looking for, but every problem has a solution.QuoteI was imagining nonvolatile configuration eliminates the need to use a processor to program them all (save for the initial programming). 'instant on' in addition to the nonvolatile config, eliminates the need to really manage a lotta stuff like say power disconnects, no need to set it up to reload everything (configuration) from memory? Like no boot screen n stuff, just bam your computers on & fully loaded lol. More of a "wouldn't that be cool" kinda feature i'm hoping for with that.Most importantly background reconfiguration, being able to reconfigure it as it's running, like say one FPGA is "running firefox" and we close firefox on the operating system. Being able to background program n stuff, we can immediately just "stop firefox and load itunes", seamless transition to reconfigure (probably not 100% seamless), rather than a ton of middle work like powering that single fpga down, turning it on, going through some configuration process, my thinking is it makes it simpler (less on my plate initially) and takes less time to change what the FPGA is doing, and they'll all be changing what they do frequently, so that translates to clicking firefox and bam firefox is open. Then again, I've never programmed an FPGA so I may be way off.QuoteI imagine i'd have to make my own compiler. Not really sure about it, but if it can't be helped, a software (or hardware) core can be used for compatibility with normal programs. I believe it's doable though, like take every single command in C, then python, and all that, and translate it to VHDL.https://en.wikipedia.org/wiki/C_to_HDLThis link seems to suggest C to HDL stuff exists already. It's not something I've given too much thought though, "we'll get there when we get there". At worst, I gotta plop in a processor for compatibility. I'm really just wanting it to be usable for normal everyday stuff, serious use of it would all be programs written specifically for the hardware/setup. It'd be cool to have hardware that can do major things in the background without slowing anything else down, like some advanced AI programs that view your camera, and in the bacground save everyone's face, creates 3d maps of all the places it sees, listens to peoples' voices and gathers data to make deepfake profiles, cracks all the encryptions of every single wifi ssid it sees before you even think about connecting to one, bitmines, hosts a website, listens to all radio frequencies and analyzes and/or records all communications in plain text (then further filter out which ones aren't of interest to the user), does a detailed analysis of every single stock on the stockmarket and lets you know its best predictions (YOUR AI vs some service), controls a swarm of 500 drones as individual units (not just a single mass they all stick to), hacks into traffic cams as you drive along and makes you priority number one for green lights wherever you go, monitors your wife's data (vocal tone, wording, hormones if u got an olfactionmeter or something like that) along with input from AI built "rules of engagement" to help let you know what to do when shes angry, synthesizes AI made music according to your itunes library and what it thinks you'd like, hosts the matrix, watches what you are doing on the computer and how you react to each thing then predetermines how the rest of your life is gonna go after it's gathered enough data, hosts physics simulators detailed enough that one is built to simulate the human body's response to experimental surgeries and procedures.... allowing AI to come up with new medicine and find the way to upload our minds onto these FPGA supercomputers or them onto our brains, stuff like that all in the background while not slowing down the loading of Club Penguin one bit.

author: ataradov
author_rank: Super Contributor
timestamp: November 21, 2018, 06:58:16 pm
content: None of what you wrote above makes any technical sense. Seriously, start with one FPGA and see just how challenging it is to actually make it work. Then see if you can scale it up to even 6.Like really, the post above reads like ramblings of an insane person. It has no roots in reality.

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 21, 2018, 07:02:29 pm
content: But why stop at 100?

author: ataradov
author_rank: Super Contributor
timestamp: November 21, 2018, 07:06:57 pm
content: Quote from: SiliconWizard on November 21, 2018, 07:02:29 pmWell, we found the end to "power needed".Also, assuming you can actually put 100 chips on the board. Have you though about power supply? Just that alone is a technical challenge, which not a lot of people can adequately solve.

author: asmi
author_rank: Super Contributor
timestamp: November 21, 2018, 07:19:06 pm
content: On actual topic - every FPGA manufacturer has a published specification on programming protocol (I know for sure for Lattice iCE40 and Xilinx 7 series), so you can write your own programmer using D2XX interface. These protocols are mainly designed for onboard MCU/CPUs for combo boards, but D2XX gives enough freedom to implement it provided all required connections are made in HW.

author: NorthGuy
author_rank: Super Contributor
timestamp: November 21, 2018, 08:56:00 pm
content: Quote from: Bassman59 on November 21, 2018, 05:46:44 pmEven though the underlying kernel is Unix, the GUI is dramatically different and is made of proprietary libraries (such as Cocoa) which are based on Objective-C/Swift.

author: rstofer
author_rank: Super Contributor
timestamp: November 21, 2018, 10:02:12 pm
content: Quote from: Bassman59 on November 21, 2018, 05:42:48 pmYes, I did! That's when I walked away from Apple and never looked back. At the time I was pretty busy writing BIOS code to hang large hard drives on Apple IIs (large as in 5-10 MB) and I wanted to play in a graphical sandbox. Alas, it wasn't allowed so that was the end of the line.

author: rstofer
author_rank: Super Contributor
timestamp: November 21, 2018, 10:21:25 pm
content: Quote from: ataradov on November 21, 2018, 07:06:57 pmI wonder if you can send signals from chip to chip without considering clock domain crossing. If this is a problem, there will probably need to be a 2 clock delay on signals coming in. If it matters... When you are working with picosecond logic, nanosecond clock delays are a big deal.In the end, would such a thing be faster than an equivalent zillion core I7 (or Xeon) board? The Intel® Xeon® Processor E7-8894 v4 has 24 cores at 195Watts. It's also about $9k... Ten chips might be a nice space heater in Alaska.

author: ataradov
author_rank: Super Contributor
timestamp: November 21, 2018, 10:24:10 pm
content: Quote from: rstofer on November 21, 2018, 10:21:25 pmYou can if they are in the same clock domain. But given pin delays, your maximum clock will go down rapidly. And also, you would still have to describe each pin in the constraints file. And obviously you would have to partition your design yourself, no tool will spread the design over multiple chips.

author: rstofer
author_rank: Super Contributor
timestamp: November 21, 2018, 10:38:56 pm
content: Quote from: ataradov on November 21, 2018, 10:24:10 pmI guess I have been thinking about multiple instances of the same design - something massively parallel. OTOH, it could be that each chip is doing something different and that should make board programming an interesting project. I envision a really long JTAG chain...

author: legacy
author_rank: Super Contributor
timestamp: November 21, 2018, 10:41:09 pm
content: Yup, mac = troubles for this things.Besides, the hardware of Apple laptops is ... poop. My brother bought a professional MacBook/Pro (1900 euro for a Laptop), loaded a FEM program ... and ... the machine was not able to provide the proper air-cooling, therefore it died.Specifically, the GPU overheated, the heater shield is shared with the CPU, and as result, they both died

author: rstofer
author_rank: Super Contributor
timestamp: November 21, 2018, 10:49:10 pm
content: Quote from: legacy on November 21, 2018, 10:41:09 pmWhile I don't use Apple Macs, I did buy a high end MacBook Pro for my stepdaughter. Very expensive for a laptop. In fact, seriously overpriced. But she likes Macs.If, during my grandson's college career, it seems reasonable to add a MacBook to the mix of desktops and tablets, so be it. There's this store and if I give them money they will give him a MacBook. Compared to tuition, laptops are a drop in the bucket.

author: legacy
author_rank: Super Contributor
timestamp: November 21, 2018, 11:33:09 pm
content: Well, during my Erasmus in the UK, I bought a PowerBook-G3, second hand because I was a student and I was literally washing dishes in a restaurant to pay the rent.I found a nice shop with a second-hand laptop (they also had a lot of Acorn Computers, RISCPC and this stuff that is pretty British). I picked up one for 90 UKP, and I still believe it was a deal because even if in 2007 we had PowerBook G4 Aluminium with a PowerPC 74xx @ 1.6Ghz under the hood. Mine was a black laptop with a G3 @400Mhz, pretty obsolete for MacOSX so I loaded Linux, and it was decent enough for my daily needs: programming in C and Octave, writing my thesis in LaTex, and reading doc in PDF.I still have this laptop, never overloaded by heavy computing tasks, whereas my brother has very special needs, like computing FEM analysis, which is very heavy .... but ... I can affirm the quality of Apple products has dropped: at least my black-Powebook-G3(1) comes with a decent heather shield, my brother's laptop does not.Which is completely unacceptable because "pro" doesn't really mean "professional" ... it justs means "more money to pay for the marketing"(1) The previous owner absolutely wanted to let me know that laptop was exactly the same model used in Sex&TheCity thanks to a sticker put on the front ...Ah, these Apple Fan Boys&Girls (probably she was a she), but ... hey? 90UK! A good deal!

author: james_s
author_rank: Super Contributor
timestamp: November 21, 2018, 11:38:07 pm
content: A good friend of mine has been using Macs since the early 2000's, currently he has a Macbook Pro from I think 2008 as his daily driver, upgraded several times he has way more than gotten his money's worth out of that machine. He's stuck between a rock and a hard place though looking into the future. Like me, he won't consider buying a computer that has the RAM and storage soldered to the motherboard so he's considering the painful proposition of jumping ship to Windows. He likes Linux too, but he's a serious photography buff and relies on Adobe products which unfortunately means it's either Mac or Windows, neither a pleasant proposition.

author: Bassman59
author_rank: Super Contributor
timestamp: November 22, 2018, 01:45:57 am
content: Quote from: NorthGuy on November 21, 2018, 08:56:00 pmThere are several cross-platform GUI platforms which allow developers to write basically platform-independent code. wxWidgets and QT are two that come to mind. They both seem to work well enough for large production use.

author: NiHaoMike
author_rank: Super Contributor
timestamp: November 22, 2018, 04:51:18 am
content: Quote from: rstofer on November 21, 2018, 10:21:25 pmIt wouldn't be too hard to make it get better performance per watt for some applications like certain cryptocurrency mining algorithms. What's difficult is getting competitive performance per dollar, not to mention having to compete against college students (in the dorms) who care almost nothing about performance per watt and mine with used servers that get very high performance per dollar.Quote from: james_s on November 21, 2018, 11:38:07 pmLinux for regular use and a Windows or Hackintosh VM for the few apps that just don't work on Linux.

author: NorthGuy
author_rank: Super Contributor
timestamp: November 22, 2018, 04:57:53 am
content: Quote from: Bassman59 on November 22, 2018, 01:45:57 amIf your GUI doesn't currently use one of these, you still need to re-write all your GUI, or to write some sort of Mac stub.And they don't work that well. They have problems with scaling, fonts etc. People have lots of problems on 4K display. If you bought Mac, you probably don't wouldn't want to see ugliness on your screen, would you?

author: ataradov
author_rank: Super Contributor
timestamp: November 22, 2018, 05:02:59 am
content: Xilinx, Altera and Lattice use Qt already. The bigger problem is supporting all the hardware debuggers and programmers.And at least for Xilinx Linux (or UNIX, I guess) support was there first or at least from early on. Since some of the tools in ISE are still using Tk. But main tools all were converted to Qt.And all of them support Linux for remote synthesis on servers anyway, so having UI supported is not a huge deal.

author: james_s
author_rank: Super Contributor
timestamp: November 22, 2018, 05:28:59 am
content: Whatever the case, I'm sure the FPGA vendors know what they're doing. If producing a Mac version of the software was likely to have a significant economic return then they would have done so. As it stands, any company doing FPGA development can generally afford to buy whatever computer is required to run the software, and it's obvious they don't really care about hobbyist users. They had Unix first IIRC, then ported the stuff to Wintel because it was impossible to ignore the market dominance. What reason do they have to support yet another niche operating system? Especially when it's so easy to boot Linux or Windows on a mac or run it in a VM?

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: November 22, 2018, 09:01:47 am
content: Quote from: james_s on November 22, 2018, 05:28:59 amExactly. If you can't afford to buy a PC, you're not a customer that's going to be doing enough business for them to care about.

author: NorthGuy
author_rank: Super Contributor
timestamp: November 22, 2018, 03:05:51 pm
content: Quote from: mikeselectricstuff on November 22, 2018, 09:01:47 amIf you can afford to buy Mac, you can definitely afford to buy PC, however you may still prefer Mac.

author: asmi
author_rank: Super Contributor
timestamp: November 22, 2018, 03:19:02 pm
content: Quote from: NorthGuy on November 22, 2018, 03:05:51 pmSorry but this is not a teenagers' beauty contest. When it comes to professional workstations there is no such thing as "preference" - you buy what youneedto get the job done - whether it's Linux machine, Windows or whatever else. And as things stands right now, Apple prefer to make stuff for teens (not by age, but by behavior) to impress each other, not to get job done.

author: legacy
author_rank: Super Contributor
timestamp: November 22, 2018, 06:02:21 pm
content: Quote from: ataradov on November 22, 2018, 05:02:59 amCan you tell me more about this? It's interesting!

author: NorthGuy
author_rank: Super Contributor
timestamp: November 22, 2018, 06:41:38 pm
content: Quote from: asmi on November 22, 2018, 03:19:02 pmThis exactly the attitude which brought us into this world of over-bloated and buggy software. People are willing to accept any crap they're given. And the more they're accepting, the crappier it gets.I have MacBook Pro and it is miles ahead of Win10. At the very least it's still Ok, while Win10 is beyond acceptable. If Vivado could run on Mac, I would've bought a big-screen Mac already.

author: asmi
author_rank: Super Contributor
timestamp: November 22, 2018, 06:50:06 pm
content: Quote from: NorthGuy on November 22, 2018, 06:41:38 pmModern MacBook Pro is the worst piece of crap I ever touched in my life! Surface Book 2 is eons ahead of it in just about any metric. Only mindless iSheeps think otherwise.

author: ataradov
author_rank: Super Contributor
timestamp: November 22, 2018, 06:54:01 pm
content: Quote from: legacy on November 22, 2018, 06:02:21 pmI'm not sure about the details. I have never used it this way. But I know people setting them up for speed. Apparently things work (or worked some time ago) faster on Linux in multi-processor configuration.

author: Bassman59
author_rank: Super Contributor
timestamp: November 22, 2018, 11:01:28 pm
content: Quote from: ataradov on November 22, 2018, 05:02:59 amThis shouldn't be a problem at all -- Silicon Labs' USB programming dongles all work on all three platforms. Segger provides drivers for all three platforms and I used the GNU-Eclipse-GCC-whatever setup on my Mac for an Atmel SAM project, and the debugger/programmer worked flawlessly. I think NXP's stuff was all cross-platform, too, but I have not kept up with it.QuoteXilinx supported high-$$$ Unixes like HP-UX and IBM's flavor from basically the beginning (I remember X Windowing into a Unix server from an NT box in 1996). It took them forever to support Linux, and as I remember they finally came on board with Linux in 1999 or 2000. And now I remember them supporting Solaris; at one job we had Solaris servers that we'd use for the big runs.

author: aandrew
author_rank: Frequent Contributor
timestamp: November 23, 2018, 04:14:25 am
content: Quote from: ataradov on November 22, 2018, 05:02:59 amThis is actually a non-issue. Libusb is cross platform (Windows, OSX and Linux) and works with pretty much every single programmer out there. I've personally written code for the FX2LP and FX3 devices, the latter of which I was able to stream 2.5Gbps for hours without error. Rebuild and it works on Linux. I didn't have a need for Windows but it should have worked there, although as with all things Microsoft, you needed to pepper the Makefile with some MS-specific garbage.