Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×

Comment Re:Milkymist in Production? (Score 5, Insightful) 133

While I'm with you on the question of performance, I'd also question the suitability of FPGAs, both as an "open source" platform and as a learning tool for anything below university level courses. FPGAs are about as closed as it gets when it comes to hardware platforms. The verilog/VHDL compilers are, generally, closed source. I know there's an open one or two, but Mentor Graphics, Xilinx, and Altera all ship closed source compilers. The place and route algorithms that are used are all patented and closed source. The architecture of the FPGA itself is patented and closed source.

So, what, exactly, is the point of using an "open" processor on an FPGA? To make everything harder to do?

If you're really looking for a Free/Open processor, then your best bet is to put your money where your mouth is and back opencores.org in producing an ASIC version of the OpenRISC 1000. Even then, it's still built on a proprietary process in a fab, where you can't even get the technology files required to layout the processor without signing an NDA.

Here's the sad truth of it. You're dealing with a proprietary process anywhere from the chip level down. You simply cannot complain about not having open silicon and be taken seriously. Here's how it works:

If you want to make a chip, the first thing you have to do is find a design. Now you can make your own, and open source it, or you can get a pre-made design. If you choose to use an open-source design, then you're good--so far--but you'll have a significant performance lag behind the proprietary options. This goes double for video processing, memory controllers, buses, etc., etc.

Next, you need to find a fab who will make the chips for you. Here's where it gets bad. Even 180nm fabs consider their processes to be trade secrets, so that you have to sign an NDA just to get a process description file from the fab--this means your layout is, perforce, closed source.

Even if you somehow find a fab which will allow you to open the technology file, the placement and routing software for VLSI design is all closed source and patented. This is because place & route is a HARD problem. NP Hard, in fact.

So what it comes down to is this: until the homecmos people get their process going, you're stuck with something proprietary at some level. So then how much proprietary stuff is tolerable?

The Raspberry Pi Foundation had the goal of being bringing computing in a low cost package for education. The tradeoffs required to use open designs for the processor are quite steep: e.g. it would be a colossal time investment to get Linux running on a non-standard--read: non-proprietary--SoC. Using some proprietary chips to get there seems reasonable, so long as the OS doesn't become proprietary. The GPU blob is unfortunate, but not unexpected, particularly if you want decent performance.

Comment Re:Field dependent requirement (Score 1) 1086

How does your laptop computer calculate remaining battery life?

Two possibilities: 1) it has a voltage measurement, 2) it has a "fuel gauge" chip. For 1), It measures the voltage on the battery and compares that to a calibrated charge remaining vs. voltage curve. For 2), the chip reports the remaining capacity. Then divide by a sliding frame average of current consumption.

How does your browser calculate remaining download time?

It divides the remaining file size by a sliding frame average of the download speed.

How does your tablet distinguish between gestures?

It records all the points of a given "touch" (the point of a touch is the vector average of the whole touch zone. Think of it as the centre of gravity). It then does linear regression on the points, giving it a line which matches the average. It compares the linear regression and the actual data to find an error level, and divides the line segment up into smaller segments until they are all within some acceptable error level. It then passes this information off to a topological processing system, which could be as simple as a set of table lookups, but more likely is just a bunch of vector arithmetic.

The point here is not whether any of these examples is accurate or not, it's that each of them is plausible. You can do an enormous amount in programming without calculus.

But is it necessary? I'd argue it's field and application dependent. It's remarkably necessary for numerical methods (both for error and complexity); but those only matter if you're writing your own algorithms and you can get a long way without understanding the error in a system. It's necessary for simulation software, and there are more examples. Anywhere that a system is critical, and connected to the physical world, I'd want them to know the calculus required to accurately model their interface.

Another point, is that Computer Algebra Systems are faster and more accurate at most calculus than you will ever be; however they still require you to set up the problem so that they can do the algebra, integration, and differentiation for you.

Comment Tablet PC (Score 1) 364

In 2009, I did the same search. Back then, HP was still making table PCs. A stylus-based tablet PC with onenote is a really good system for taking notes. It makes your handwriting searchable and it handles diagrams more cleanly than any regular laptop solution.

Now, with tablet PCs on the way out--HP doesn't even make them, last I checked--you could try a galaxy note, or the Eee Slate, though both of those options leave you without a keyboard.

Comment Re:obvious choice here (Score 1) 85

I know everyone loves Arduino, but I don't get it. If you think you can explain it to me, first read specs of Raspberry Pi($35 and runs Linux, has Ethernet, USB, etc.) and STM32F4DISCOVERY ($15, 210 DMIPS, FPU, 1MB of flash, 192kB of SRAM, has USB host/device/otg, onboard 3-axis accelerometer, mic, stereo DAC with speaker driver, JTAG debugger also built in).

With those two on the market, I don't see what Arduino is for...

Comment Re:Hobbyist tools (Score 1) 85

If you're working on Linux, then just download gcc-arm-linux-gnueabi with your package manager, or build from source. If you're working on Windows, it's a little more complex; I have used OpenOCD.

You can order the STM32F4Discovery from Digikey, Mouser, Arrow, Avnet, Element14, Newark, etc. They're pretty widely available.

Olimex has some good references in the software section of their USB JTAG page.

Comment Hobbyist tools (Score 3, Informative) 85

Bus Pirate: good for looking at communication waveforms to debug problems. ($35)

Logic Sniffer: For more complex problems than the above, allows looking at parallel signals.($50)

Raspberry Pi: Tiny ARM11 700MHz CPU with powerful graphics, 10/100 ethernet, USB2.0 host (2 ports), HDMI out, and GPIO connector. Boots from SD card. ($35)

MSP430 Launchpad: inexpensive microcontroller development platform ($4.30)

STM32F4Discovery: Development platform for powerful microcontroller. ARM Cortex M4 with FPU, 168MHz (210DMIPS), Ethernet MAC, 2xUSB host/device/OTG, etc. etc. Board has stereo audio DAC with speaker driver, USB Micro-AB connector, 3-axis accelerometer, digital mic, 4 user LEDs, two pushbuttons (one is reset), and onboard debugger which is supported by open source tools. ($15) <--- take that, arduino

Comment Re:Is it "too real"? (Score 1) 607

Yes, I am incapable of editing my own comment prior to posting. That should have been:

I've noticed that too. I can never figure out why daytime soap operas look so much different than prime-time shows. Is it the framerate that does it? I was beginning to think that the crappy dialogue and crappy plot were becoming visible.

Slashdot Top Deals

The most exciting phrase to hear in science, the one that heralds new discoveries, is not "Eureka!" (I found it!) but "That's funny ..." -- Isaac Asimov

Working...