Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
JawnV6
Jul 4, 2004

So hot ...

hobbesmaster posted:

just have a VM for every crazy tool

he thinks synthesizing is unimportant for validation, imma guess emulation isn't his forte :xd:

Adbot
ADBOT LOVES YOU

Jerry Bindle
May 16, 2003
be nice to validation people, unless they just assume the design is right and write a bunch of tests that always make sure the design is what the design is, then smack them!

Jerry Bindle
May 16, 2003
i guess this is as good as time to ask as any. how is chip level validation _supposed_ to work?

I get this basic idea: 1) Design reads <IP-SPEC> then implements <IP-RTL>. 2) Validation reads <IP-SPEC"> then tests "IP-RTL" against the spec.

how reasonable is it for design to make a mistake, then validation to make the identical mistake that results in the mis-configuration of entire modules?

Should validation have a black-box view of the RTL? Should validation have access to any of the definitions internal to the design?

JawnV6
Jul 4, 2004

So hot ...
pre-si has to be whitebox, post-si has to be blackbox

EIDE Van Hagar
Dec 8, 2000

Beep Boop

JawnV6 posted:

he thinks synthesizing is unimportant for validation, imma guess emulation isn't his forte :xd:

you'd be correct i don't do emulation

EIDE Van Hagar
Dec 8, 2000

Beep Boop

Barnyard Protein posted:

i guess this is as good as time to ask as any. how is chip level validation _supposed_ to work?

I get this basic idea: 1) Design reads <IP-SPEC> then implements <IP-RTL>. 2) Validation reads <IP-SPEC"> then tests "IP-RTL" against the spec.

how reasonable is it for design to make a mistake, then validation to make the identical mistake that results in the mis-configuration of entire modules?

Should validation have a black-box view of the RTL? Should validation have access to any of the definitions internal to the design?

you have to have access to actually debug things in pre-si, but a good pre-si validation strategy will include transaction level abstraction and throw a ton of transactions at a design using an implementation of the interfaces written with no reference to the RTL.

BobHoward
Feb 13, 2012

The only thing white people deserve is a bullet to their empty skull

kwinkles posted:

hey thread. question: i have been wanting to get an fpga and start a github with all the poo poo i make it do but i have been too lazy to fpga shop. what is a good one to get that i can do things on for like $1000? where do you even find that out? are there toolchains i can use on my mac?

if you want to go brand x, i recommend the avnet microzed for $200 plus an io breakout board for $50. it's a zynq part so it's actually an arm soc with some 7 series fpga fabric on the side, which is a very nice combo. boots linux from a microsd card out of the box, 1gb ram, gigabit enet, dual core cortex-a9 so it's reasonable fast, and loading a bitfile into the fpga fabric is literally "cat yospos.bit >/dev/some/path/i/dont/remember"

run the tools in a linux vm. the license voucher you get with xilinx eval boards will require nodelocking based on ethernet MAC, so make one up for a virtual ethernet interface in your vm, nodelock yr license to that, and you will not be forever tied down to one specific computer

idk what's out there for brand a

BobHoward fucked around with this message at 10:36 on Aug 6, 2015

Arcsech
Aug 5, 2008

BobHoward posted:

if you want to go brand x, i recommend the avnet microzed for $200 plus an io breakout board for $50. it's a zynq part so it's actually an arm soc with some 7 series fpga fabric on the side, which is a very nice combo. boots linux from a microsd card out of the box, 1gb ram, gigabit enet, dual core cortex-a9 so it's reasonable fast, and loading a bitfile into the fpga fabric is literally "cat yospos.bit >/dev/some/path/i/dont/remember"

run the tools in a linux vm. the license voucher you get with xilinx eval boards will require nodelocking based on ethernet MAC, so make one up for a virtual ethernet interface in your vm, nodelock yr license to that, and you will not be forever tied down to one specific computer

idk what's out there for brand a

can confirm this is as decent a way to get started as any

movax
Aug 30, 2008

BobHoward posted:

if you want to go brand x, i recommend the avnet microzed for $200 plus an io breakout board for $50. it's a zynq part so it's actually an arm soc with some 7 series fpga fabric on the side, which is a very nice combo. boots linux from a microsd card out of the box, 1gb ram, gigabit enet, dual core cortex-a9 so it's reasonable fast, and loading a bitfile into the fpga fabric is literally "cat yospos.bit >/dev/some/path/i/dont/remember"

hmm is that devcfg driver in xilinx mainline? remember what its called?

BobHoward
Feb 13, 2012

The only thing white people deserve is a bullet to their empty skull

movax posted:

hmm is that devcfg driver in xilinx mainline? remember what its called?

this help?

http://www.xilinx.com/support/answers/46913.html

oh no blimp issue
Feb 23, 2011

what is the difference between a microcontroller like and arduino and an fpga?

Sapozhnik
Jan 2, 2005

Nap Ghost

Awia posted:

what is the difference between a microcontroller like and arduino and an fpga?

A microcontroller is a small CPU with some other bits stuck onto the side, and those other bits are fairly inflexible beyond the specific tasks they were designed to perform. For a given task you choose a microcontroller which has all of the peripherals to get a particular job done and then ignore the peripherals you don't care about. An FPGA can be more or less any digital circuit, including a CPU. But it's not as fast as a "real" digital circuit etched into silicon.

An FPGA can do most things ("things" typically being "a form of digital I/O that this microcontroller wasn't specifically designed for" or "apply this mathematical formula to this stream of one billion integers") much faster than a microcontroller, to the point where an FPGA is the only practical way of getting that task done. The downside is that FPGAs are a lot more expensive and a lot more difficult to program for.

They're often used together, too: for example, an FPGA to do some bulk data processing and a microcontroller to handle control commands sent over USB. The microcontroller will have a hardware USB core that can be configured to autonomously shovel fast streams of data between the FPGA and the host computer's USB without the microcontroller CPU getting involved.

ChiralCondensate
Nov 13, 2007

what is that man doing to his colour palette?
Grimey Drawer

Mr Dog posted:

A microcontroller is a small CPU with some other bits stuck onto the side, and those other bits are fairly inflexible beyond the specific tasks they were designed to perform. For a given task you choose a microcontroller which has all of the peripherals to get a particular job done and then ignore the peripherals you don't care about. An FPGA can be more or less any digital circuit, including a CPU. But it's not as fast as a "real" digital circuit etched into silicon.

An FPGA can do most things ("things" typically being "a form of digital I/O that this microcontroller wasn't specifically designed for" or "apply this mathematical formula to this stream of one billion integers") much faster than a microcontroller, to the point where an FPGA is the only practical way of getting that task done. The downside is that FPGAs are a lot more expensive and a lot more difficult to program for.

They're often used together, too: for example, an FPGA to do some bulk data processing and a microcontroller to handle control commands sent over USB. The microcontroller will have a hardware USB core that can be configured to autonomously shovel fast streams of data between the FPGA and the host computer's USB without the microcontroller CPU getting involved.

don't stop i'm almost there

atomicthumbs
Dec 26, 2010


We're in the business of extending man's senses.
now do a comparison between FPGAs and dedicated DSPs :getin:

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?

atomicthumbs posted:

now do a comparison between FPGAs and dedicated DSPs :getin:

be sure to include FPGAs with dedicated DSP subsystems too

atomicthumbs
Dec 26, 2010


We're in the business of extending man's senses.

eschaton posted:

be sure to include FPGAs with dedicated DSP subsystems too

Jesus Christ

oh no blimp issue
Feb 23, 2011

thank you Mr Dog

JawnV6
Jul 4, 2004

So hot ...
microprocessors and microcontrollers

Jerry Bindle
May 16, 2003

JawnV6 posted:

microprocessors and microcontrollers

I started to type out a post to answer this one but god drat is it difficult.

Jerry Bindle
May 16, 2003
i have a hard time with communicating that an explanation is a simplification that won't hold up for more advanced applications of the concept i'm talking about. like for the microprocessor vs microcontroller comparison: the 100k ft view is the differences in level of integration. but there are so many other factors that feed into why and how and what that i get lost in my head about what to write next.

atomicthumbs
Dec 26, 2010


We're in the business of extending man's senses.
A microcontroller is, in general, a low-power, single-chip computer designed to be connected to things that aren't the rest of a computer. A microprocessor is not.

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?

JawnV6 posted:

microprocessors and microcontrollers

processor computers

microprocessor computes, on a single chip (!)

microcontoller computes and does other stuff, on a single chip

like an 8051 is an 8080 or whatever, plus stuff, plus maybe some RAM and ROM and I/O instead of an address bus and data bus

JawnV6
Jul 4, 2004

So hot ...
ive tried to slice it by how much extra crap you need on board to support a microprocessor, like a uc will boot with a couple wires and nothing so complicated as a PMIC

but it's a weird distinction as you get closer to the line

yippee cahier
Mar 28, 2005

internal memory and peripherals? anyone seen a MCU without them?

Sweevo
Nov 8, 2007

i sometimes throw cables away

i mean straight into the bin without spending 10+ years in the box of might-come-in-handy-someday first

im a fucking monster

the line is pretty blurred, and it blurs more with older chips. you can get microcontrollers with no internal program memory, and the peripherals consist of a single timer

a cyberpunk goose
May 21, 2007

I would draw the line between the philosophy behind the MCU/processors intended use of the internal byte code architecture

no one (sane) is making really elaborate operating systems that run on PIC, you... could but it's not suited for it compared to say a Motorola SoC with an arm core

Jerry Bindle
May 16, 2003

Mido posted:

I would draw the line between the philosophy behind the MCU/processors intended use of the internal byte code architecture

no one (sane) is making really elaborate operating systems that run on PIC, you... could but it's not suited for it compared to say a Motorola SoC with an arm core

yeah but there are PICs with MIPS cores :colbert:

a cyberpunk goose
May 21, 2007

Barnyard Protein posted:

yeah but there are PICs with MIPS cores :colbert:

my language was carefully chosen

Jerry Bindle
May 16, 2003
yeah i get what you mean and i agree, the dividing line is the application, the architecture typically follows from that.

BobHoward
Feb 13, 2012

The only thing white people deserve is a bullet to their empty skull
my theory, which is mine, is that microcontrollers are distinguished by specialization for running soft- or hard-realtime control code, usually without a full operating system

this results in some common characteristics:

1. integrated peripherals, and generally not high speed either, rather whatever's useful for interfacing to random chips (i2c, spi, rs232, gpio, etc)
2. integrated program memory (flash)
3. integrated data memory (small amounts of sram)
4. little or no cache
5. cpu core / integrated peripherals / the bus connecting them together are either the same clock domain or quasi-synchronous. accesses to peripheral registers take a fixed (and very small) number of clock cycles

these characteristics make it possible to easily reason about / measure / predict execution timing. if you need to bitbang something or control some physical process or whatever that is exactly what you want

this is why arm offers the cortex-m series, they're arm cores specifically optimized for control applications rather than going fast. microcontroller designers could easily use a much faster arm core instead and thanks to moore's law the costs are not prohibitive at all in most cases, but those cores bring with them system architectures designed for higher general purpose performance, which means async crossings, deep queueing, caches, etc. throughput's great, latency and predictability are not

Fanged Lawn Wormy
Jan 4, 2008

SQUEAK! SQUEAK! SQUEAK!
i'm finally playing with atmel studio! wow, I really wish arduino's IDE would include some of the handy tools they have in here.

like fuckin hate windows though, and my work machine is slower than my personal. I may look into VM'ing or something

anyways

road plan:
1) keep coding the arduino way with .ino files and use the nice features of atmel studio/visual micro debugging until I can operate in the IDE efficiently

2) start more bitwise functions for I/O and whatever

3) move out of using .ino files and start using .c/.cpp files for the majority of programming

4) start trying out hardware debuggers?

5) thats probably it because IDK if I am going to be able to/be interested in/need to get further into the hardware development

Star War Sex Parrot
Oct 2, 2003

Fanged Lawn Wormy posted:

like fuckin hate windows though, and my work machine is slower than my personal. I may look into VM'ing or something
i use a VM for Atmel Studio and it is a fine solution

Fanged Lawn Wormy
Jan 4, 2008

SQUEAK! SQUEAK! SQUEAK!
that's good to know. do you use VMware? I've looked around and it all the options seem to come out about equal but VMware seems to be the pick for what I want

JawnV6
Jul 4, 2004

So hot ...

BobHoward posted:

easily reason about / measure / predict execution timing

this whole post is good, thank u. i particularly enjoy this bit to separate out the two

i was asked by someone writing a book aimed at makers and a little higher how to describe the difference, and on the spot I couldn't come up with a simple definition that a mechanical engineer could understand.

JawnV6
Jul 4, 2004

So hot ...

Fanged Lawn Wormy posted:

that's good to know. do you use VMware? I've looked around and it all the options seem to come out about equal but VMware seems to be the pick for what I want

ive used parallels and it worked fine enough, asking new job to hook me up with that too

JawnV6
Jul 4, 2004

So hot ...
anyone have experience with RIOT, contiki, or other "iot rtos" solutions?

i need a scheduler for a wifi/tcp driver, thinking FreeRTOS will be plenty, but if one of these upstarts is really compelling I'd consider it

Sapozhnik
Jan 2, 2005

Nap Ghost
Don't use TinyOS

I mean, not that anybody sane should ever see an OS written in a toy programming language and decide this could be even remotely worth using, what sort of baka would do something like that anyway ahahahahaha *anime sweatdrop*

but yeah TinyOS is poo poo, that's what I have to contribute.

JawnV6
Jul 4, 2004

So hot ...

Mr Dog posted:

but yeah TinyOS is poo poo, that's what I have to contribute.
thanks u

ChiralCondensate
Nov 13, 2007

what is that man doing to his colour palette?
Grimey Drawer
i janitored way too many bits today
(i'm responsible for the pc software for this daq system, wish i had control over the firmware for the front end, would be way easier than iterating with an engineer in strasbourg who doesn't like to give too many details away)

Adbot
ADBOT LOVES YOU

oh no blimp issue
Feb 23, 2011

so i want to use an fpga for a thing, i think i saw someone mention the mojo v3 board as a good starting point, but i don't know much about this poo poo, anyone who knows more about it willing to slap me upside the head and tell me im an idiot for choosing that?

  • Locked thread