I disagree. If you can render the average scene at 300 fps, you can:
* Apply motion blurring (think 4x temporal FSAA) at 60 fps. Film gets away with 24 fps precisely because of motion blur.
* Keep a solid 60 fps even through pathologically complex scenes.
* Render at 60 fps even when four players have joined in on the same home theater PC.
All of your points follows the argument "you can do 60 fps with higher quality". Which was pretty much my argument...
A well-engineered game will have (or be able to generate) meshes and textures at high and low detail for close-up and distant objects respectively. On high-spec PCs, you can use the high-detail assets farther from the camera; on the slow and memory-constrained PCs that your potential customers already own, they get the low-detail assets but can still enjoy the game.
It could or it could not. The point is the game can utilize the computing power of higher-end systems. It isn't just designed for a slow and memory-constrained machine and then runs at blazing fps on faster systems; you can change visual quality settings to use more computing power.
Except that those "tools and stuff that gets in the way" is exactly what they should be learning. Every single VHDL compile error isn't just a "we're being anal" message. It's a disconnect between what the syntax is describing vs the logic that it will translate to. Hardware design is anal; it has to be accurate down to every bit. There is no room for ambiguity and "trusting the compiler".
You can learn more about digital design concepts from VHDL compile errors than a week's worth of trial-and-error debugging of mistranslated Verilog.
That is a very dangerous idea. "Let them be sloppy and still make their thing work" may work for software -- where you can just release a patch to fix problems that pop up -- but the primary and most important thing about ASIC design is you only get one shot at it.
That's the first lesson hardware design courses should be teaching. Not making them feel good about how their non-functioning Verilog "program" actually compiles. By the time they actually program it into the FPGA, they should've understood fully how it would translate into gates by the synthesis tool and how it would translate into device-specific macros by the place and route tool.
They should've simulated it at all points of translation as well. VHDL forces you to do this to an extent and that's a good thing.
SystemVerilog was largely added for Verification, not design. There are a few constructs that make designing hardware easier than Verilog (enumerations, interface abstracts) but the primary focus of SV is that it allows powerful testbenches.
Before SV, people tested their chips by programming a model in C/C++ and then using a simulator's programming language interface to tie the C model to a Verilog testbench that instantiated their design.
SV makes this rather clunky method go away by introducing C++ like OO programming along with hardware-specific testing constructs (timing-based assertions, constrained random rules, logic coverage).
If your designers are using it primarily for designing hardware, then they are doing it wrong. It's meant for Verification Engineers.
Yes and no. The biggest thing people miss most often is that Verilog used in hardware design is really a subset of the language as a whole. The same is true of VHDL. It can be a programming language. It allows you to program procedurally. You can do your loops and conditionals and function calls, etc. There can be dynamic arrays and dynamic types and file IO.
But none of that is synthesizable. If you want to use Verilog to describe hardware, you have to limit yourself to a fairly small subset. That description is very much not a programming language. The synthesis tool looks at the syntax and "guesses" based on familiar constructs what you're trying to describe. A primary example is a synchronous circuit with an asynchronous reset. You would declare a parallel process (always in Verilog) to trigger on an edge of a clock signal and an edge of a reset.
In reality, an asynchronous reset is level-based but there is no way to describe such a thing in Verilog. The synthesis tool has to recognize the "always @(posedge clk, negedge reset)" construct and know "that's really a level-based asynchronous reset".
It's not just a description of boolean logic. In hardware, one has to consider timing.
That's just mixing semantics. The reality is, from a computer architect's world, there is a clear separation between "programs" and "logic". Programs have the features:
1. They are made up of a finite set of instructions. 2. They can be arbitrarily as big depending on available storage. 3. They control functionality.
HDL's don't create this without some help. You can take an HDL description of hardware and emulate it in software, yes. And you'd have a program. But at the end of the day, synthesis turns it into gates; a mapping of logic cells and wires. That's not a program. FPGA tools will turn that mapping of gates into mappings of its native cells. In Xilinx -- and only Xilinx -- FPGA's, this turns into a bitstream of SRAM bits that might conceivable be called a program. In all other FPGA architectures, it's actually a description of which fuses (or anti-fuses) to burn.
It's like asking "C++ or Java?". It's not important. What is important is to understand the digital design concepts. Once you've gotten that down, the syntax you need to know in order to design synthesizable circuits in either language is actually quite trivial to learn.
I think Verilog is a cleaner language myself. ASIC designers generally use Verilog whereas VHDL seems to be more dominant in Defense and government designs.
Most good design books will provide both VHDL and Verilog examples. I would highly recommend "HDL Chip Design" by Douglas Smith. It's no longer in print -- and the used ones still sell for ~$200 -- but it is probably the best book on the topic you'll find.
The problem there is that there gets to a point where the user just won't notice "stellar" speeds. Take a video game for instance. Anything past ~70 fps is really unnoticeable by the average human eye. If you design the game to run at 70 fps for a slow and memory constrained machine, the user won't really notice his quad-SLI or whatever vacuum cleaner box being any better. And you've sacrificed a lot in visual quality.
B5 only made it on Sci-Fi. If we're going to talk about cable channel shows, see Dexter, True Blood, Weeds, etc.
As for network TV, see Dollhouse.
The reality is that TV is really good. There's just so much of it that the vast majority is frivolous and dull. We had 60 channels when I was growing up (way back in the day, the 90's). Now I have some 500-odd channels with 100 or so being HD.
So I wouldn't be so quick to recall the "good old days". While Married with Children or The Simpsons (when it was funny) were good, if you compare them to say, The Big Bang Theory, 30 Rock or Family Guy (before the canceled-then-brought-back), they really weren't "golden" TV.
In this current economy, it's best to stay in school. There are jobs out there, but the competition is tighter. It's the perfect time to buckle down and get that extra education in. Of course you can learn on your own while you have a job. But it's far more convenient to get a TA position and not have to worry about spending hours reading texts and white papers and figuring out things on your own on top of working.
After 2-5 years, the difference an MSE will make vs just a BSE is quite minimal. But that assumes you land your first job. If you have no work experience, an MSE will go a long way towards helping you get that first job. What's far more important is that you start interning now. Part-time work at a company -- if you're in any way competent -- will most likely lead to a job offer before you even graduate. They may even pay for your MSE if you decide to work part-time there.
Of course, the primary concern is your specialty. Picking something you're really good at and understand intuitively where others struggle can be the single-most important thing to standing out and becoming "the guy". It's also the single-most important factor to getting raises early on.
As with all things, this proof of concept isn't practical but it could lead to better devices when miniaturized. Just think of an iPhone but you don't have to smudge the screen. Or a Wii hooked up to your TV, but you don't need a nunchuck.
I know the exercise is not in the google-fu of a computer but in its ability to interpret Trebeck's questions as well as answer in the right form but Jeopardy hints and questions are very well-formed. That is, it doesn't contain much if any of the ambiguities of normal speech.
"This city was formed by the brothers Romulus and Remus" Answer "What is Rome"
Seems a fairly easy speech pattern. A more interesting challenge would be Who Wants to be a Millionaire.
Uhhh. According to http://en.wikipedia.org/wiki/Final_Fantasy_(video_game) it's called "Final Fantasy" because it the creator thought Square would go out of business. He thus named it so because he anticipated it being the last fantasy game Square would produce.
If it's a sound military strategy, it wouldn't matter if it's posted or not. Good strategies are ones that guarantee victory before the battle's even started.
This notion that the government has to be empowered or the boogie-man will come and get you is absolute fear-mongering. The judicial branch would not all of a sudden be tied down if they were open to lawsuits. They have been for the past 300 years of this country's existence and seem to operate just fine.
False claims of "oh we can't protect you from the brown people if we can't operate like the KGB" are just that: false. The government has plenty of legal and transparent avenues to pursue criminals. Look at any police district. They deal with people with far more access to the U.S. population than a foreign national.
Supporting telecom immunity to FISA for past acts isn't exactly the same as saying the NSA -- the people who ordered it -- are immune to all legal restrictions.
I knew there would be some things that would be questionable for when Obama gets into office but this is blatantly against the principles of empowering the citizens that he trumpeted.
This is kind of disturbing. I know politicians turn 180 at the drop of a hat but Obama's entire popularity -- and the benefits that come from it -- relies on being anti-Bush. This is a very hot issue. One of the most important ones in fact. For him to continue supporting it is almost political suicide. Yet he's doing it anyway. Which makes you think, what could possibly be so important to keep secret?
We know it has nothing to do with national defense. The crones in Washington have never had a problem with outing CIA agents in the field for political gain.
Do they have illegal records of Dick Cheney torturing kittens or something? Wait, that wouldn't surprise anyone.
The problem with arguments for "the greater good" is that this is the government we're talking about here. Even when they try to do something for "the greater good" they fail and cause more harm than they help.
The point of limiting government isn't just fear of abuse of power, it's fear of incompetency at using that power.
This is the Faustian head-in-the-sand philosophy that's always irritated me. People blame knowledge and technology for the evils of the world. Humans are the source of evils. Whether they're killing each other with spears over who gets the fish or killing each other with guns over who gets rations, they're still the same barbaric species.
It wasn't technology that caused the death of the Colonies, it was humanity's arrogance; they thought of their artificial creations as lesser beings. Getting rid of technology doesn't solve the problem, it only delays the inevitable. People will strive to create and invent again and all the mistakes will be forgotten.
The only way to break the Cycle is to learn from past mistakes, not forget them. That means to embrace artificial sentience as equals, not forget they ever existed.
IEEE std_logic_arith for VHDL supports signed arithmetic...
I disagree. If you can render the average scene at 300 fps, you can:
* Apply motion blurring (think 4x temporal FSAA) at 60 fps. Film gets away with 24 fps precisely because of motion blur.
* Keep a solid 60 fps even through pathologically complex scenes.
* Render at 60 fps even when four players have joined in on the same home theater PC.
All of your points follows the argument "you can do 60 fps with higher quality". Which was pretty much my argument...
A well-engineered game will have (or be able to generate) meshes and textures at high and low detail for close-up and distant objects respectively. On high-spec PCs, you can use the high-detail assets farther from the camera; on the slow and memory-constrained PCs that your potential customers already own, they get the low-detail assets but can still enjoy the game.
It could or it could not. The point is the game can utilize the computing power of higher-end systems. It isn't just designed for a slow and memory-constrained machine and then runs at blazing fps on faster systems; you can change visual quality settings to use more computing power.
You can't avoid timing in hardware. It won't work without a clock. Synthesis won't run without specifications on how fast the thing will run.
Except that those "tools and stuff that gets in the way" is exactly what they should be learning. Every single VHDL compile error isn't just a "we're being anal" message. It's a disconnect between what the syntax is describing vs the logic that it will translate to. Hardware design is anal; it has to be accurate down to every bit. There is no room for ambiguity and "trusting the compiler".
You can learn more about digital design concepts from VHDL compile errors than a week's worth of trial-and-error debugging of mistranslated Verilog.
That is a very dangerous idea. "Let them be sloppy and still make their thing work" may work for software -- where you can just release a patch to fix problems that pop up -- but the primary and most important thing about ASIC design is you only get one shot at it.
That's the first lesson hardware design courses should be teaching. Not making them feel good about how their non-functioning Verilog "program" actually compiles. By the time they actually program it into the FPGA, they should've understood fully how it would translate into gates by the synthesis tool and how it would translate into device-specific macros by the place and route tool.
They should've simulated it at all points of translation as well. VHDL forces you to do this to an extent and that's a good thing.
SystemVerilog was largely added for Verification, not design. There are a few constructs that make designing hardware easier than Verilog (enumerations, interface abstracts) but the primary focus of SV is that it allows powerful testbenches.
Before SV, people tested their chips by programming a model in C/C++ and then using a simulator's programming language interface to tie the C model to a Verilog testbench that instantiated their design.
SV makes this rather clunky method go away by introducing C++ like OO programming along with hardware-specific testing constructs (timing-based assertions, constrained random rules, logic coverage).
If your designers are using it primarily for designing hardware, then they are doing it wrong. It's meant for Verification Engineers.
Yes and no. The biggest thing people miss most often is that Verilog used in hardware design is really a subset of the language as a whole. The same is true of VHDL. It can be a programming language. It allows you to program procedurally. You can do your loops and conditionals and function calls, etc. There can be dynamic arrays and dynamic types and file IO.
But none of that is synthesizable. If you want to use Verilog to describe hardware, you have to limit yourself to a fairly small subset. That description is very much not a programming language. The synthesis tool looks at the syntax and "guesses" based on familiar constructs what you're trying to describe. A primary example is a synchronous circuit with an asynchronous reset. You would declare a parallel process (always in Verilog) to trigger on an edge of a clock signal and an edge of a reset.
In reality, an asynchronous reset is level-based but there is no way to describe such a thing in Verilog. The synthesis tool has to recognize the "always @(posedge clk, negedge reset)" construct and know "that's really a level-based asynchronous reset".
It's not just a description of boolean logic. In hardware, one has to consider timing.
That's just mixing semantics. The reality is, from a computer architect's world, there is a clear separation between "programs" and "logic". Programs have the features:
1. They are made up of a finite set of instructions.
2. They can be arbitrarily as big depending on available storage.
3. They control functionality.
HDL's don't create this without some help. You can take an HDL description of hardware and emulate it in software, yes. And you'd have a program. But at the end of the day, synthesis turns it into gates; a mapping of logic cells and wires. That's not a program. FPGA tools will turn that mapping of gates into mappings of its native cells. In Xilinx -- and only Xilinx -- FPGA's, this turns into a bitstream of SRAM bits that might conceivable be called a program. In all other FPGA architectures, it's actually a description of which fuses (or anti-fuses) to burn.
It's like asking "C++ or Java?". It's not important. What is important is to understand the digital design concepts. Once you've gotten that down, the syntax you need to know in order to design synthesizable circuits in either language is actually quite trivial to learn.
I think Verilog is a cleaner language myself. ASIC designers generally use Verilog whereas VHDL seems to be more dominant in Defense and government designs.
Most good design books will provide both VHDL and Verilog examples. I would highly recommend "HDL Chip Design" by Douglas Smith. It's no longer in print -- and the used ones still sell for ~$200 -- but it is probably the best book on the topic you'll find.
I think you mean multi-socket. HT and QPI don't connect SiP cores.
The problem there is that there gets to a point where the user just won't notice "stellar" speeds. Take a video game for instance. Anything past ~70 fps is really unnoticeable by the average human eye. If you design the game to run at 70 fps for a slow and memory constrained machine, the user won't really notice his quad-SLI or whatever vacuum cleaner box being any better. And you've sacrificed a lot in visual quality.
B5 only made it on Sci-Fi. If we're going to talk about cable channel shows, see Dexter, True Blood, Weeds, etc.
As for network TV, see Dollhouse.
The reality is that TV is really good. There's just so much of it that the vast majority is frivolous and dull. We had 60 channels when I was growing up (way back in the day, the 90's). Now I have some 500-odd channels with 100 or so being HD.
So I wouldn't be so quick to recall the "good old days". While Married with Children or The Simpsons (when it was funny) were good, if you compare them to say, The Big Bang Theory, 30 Rock or Family Guy (before the canceled-then-brought-back), they really weren't "golden" TV.
In this current economy, it's best to stay in school. There are jobs out there, but the competition is tighter. It's the perfect time to buckle down and get that extra education in. Of course you can learn on your own while you have a job. But it's far more convenient to get a TA position and not have to worry about spending hours reading texts and white papers and figuring out things on your own on top of working.
After 2-5 years, the difference an MSE will make vs just a BSE is quite minimal. But that assumes you land your first job. If you have no work experience, an MSE will go a long way towards helping you get that first job. What's far more important is that you start interning now. Part-time work at a company -- if you're in any way competent -- will most likely lead to a job offer before you even graduate. They may even pay for your MSE if you decide to work part-time there.
Of course, the primary concern is your specialty. Picking something you're really good at and understand intuitively where others struggle can be the single-most important thing to standing out and becoming "the guy". It's also the single-most important factor to getting raises early on.
As with all things, this proof of concept isn't practical but it could lead to better devices when miniaturized. Just think of an iPhone but you don't have to smudge the screen. Or a Wii hooked up to your TV, but you don't need a nunchuck.
I know the exercise is not in the google-fu of a computer but in its ability to interpret Trebeck's questions as well as answer in the right form but Jeopardy hints and questions are very well-formed. That is, it doesn't contain much if any of the ambiguities of normal speech.
"This city was formed by the brothers Romulus and Remus"
Answer "What is Rome"
Seems a fairly easy speech pattern. A more interesting challenge would be Who Wants to be a Millionaire.
Uhhh. According to http://en.wikipedia.org/wiki/Final_Fantasy_(video_game) it's called "Final Fantasy" because it the creator thought Square would go out of business. He thus named it so because he anticipated it being the last fantasy game Square would produce.
If it's a sound military strategy, it wouldn't matter if it's posted or not. Good strategies are ones that guarantee victory before the battle's even started.
This notion that the government has to be empowered or the boogie-man will come and get you is absolute fear-mongering. The judicial branch would not all of a sudden be tied down if they were open to lawsuits. They have been for the past 300 years of this country's existence and seem to operate just fine.
False claims of "oh we can't protect you from the brown people if we can't operate like the KGB" are just that: false. The government has plenty of legal and transparent avenues to pursue criminals. Look at any police district. They deal with people with far more access to the U.S. population than a foreign national.
Supporting telecom immunity to FISA for past acts isn't exactly the same as saying the NSA -- the people who ordered it -- are immune to all legal restrictions.
I knew there would be some things that would be questionable for when Obama gets into office but this is blatantly against the principles of empowering the citizens that he trumpeted.
This is kind of disturbing. I know politicians turn 180 at the drop of a hat but Obama's entire popularity -- and the benefits that come from it -- relies on being anti-Bush. This is a very hot issue. One of the most important ones in fact. For him to continue supporting it is almost political suicide. Yet he's doing it anyway. Which makes you think, what could possibly be so important to keep secret?
We know it has nothing to do with national defense. The crones in Washington have never had a problem with outing CIA agents in the field for political gain.
Do they have illegal records of Dick Cheney torturing kittens or something? Wait, that wouldn't surprise anyone.
Courts are perfectly able to handle classified information without having it leaked to the public.
The problem with arguments for "the greater good" is that this is the government we're talking about here. Even when they try to do something for "the greater good" they fail and cause more harm than they help.
The point of limiting government isn't just fear of abuse of power, it's fear of incompetency at using that power.
That threw me off too. Are they actually running analog signals through the thing?
To Plank's length. But even then, it's not really digital as the probability distribution is then continuous.
You act like the conditions onboard the ships were caused by technology. They were not. They were caused by living on a frakking ship.
It's like saying that living in a submarine is hell compared to living on land because nuclear power exists. It's Faustian-level ignorance.
But then again, the village mob always went after Frankenstein's monster, not the good Doctor.
This is the Faustian head-in-the-sand philosophy that's always irritated me. People blame knowledge and technology for the evils of the world. Humans are the source of evils. Whether they're killing each other with spears over who gets the fish or killing each other with guns over who gets rations, they're still the same barbaric species.
It wasn't technology that caused the death of the Colonies, it was humanity's arrogance; they thought of their artificial creations as lesser beings. Getting rid of technology doesn't solve the problem, it only delays the inevitable. People will strive to create and invent again and all the mistakes will be forgotten.
The only way to break the Cycle is to learn from past mistakes, not forget them. That means to embrace artificial sentience as equals, not forget they ever existed.