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 ...
if you're too bereft of vocabulary and must turn gauche to explain a simple concept you're not retreating from "too serious"

Adbot
ADBOT LOVES YOU

JawnV6
Jul 4, 2004

So hot ...

movax posted:

fpga tooling on linux is only good for running headless builds imo; if you need to use the gui at all, stick with windows. linux is a second-class citizen (as it should be)

headless builds should be the default

JawnV6
Jul 4, 2004

So hot ...

Poopernickel posted:

it puts the P in PVT

lol

JawnV6
Jul 4, 2004

So hot ...

Bloody posted:

hope those opencores vhdl blocks work

lol the other way

JawnV6
Jul 4, 2004

So hot ...
what's ur simulator? icarus?

JawnV6
Jul 4, 2004

So hot ...

karasu posted:

of course it worked beautifully in simulation and even in my initial in hardware test. but let the FPGA get over 80 °C or configure the module in a certain way and yay total failure.

spec commercial, not automotive, WONTFIX, WORKSINMYENVIRONMENT

JawnV6
Jul 4, 2004

So hot ...
video processing

one mipi port? two cameras? wow, no way we could buy a mux, better slap a FPGA on there

JawnV6
Jul 4, 2004

So hot ...
the closest Real Thing to that is a bunch of pin-compatible parts from different micro lines, like a M0 and a M4 that can be reworked after layout

JawnV6
Jul 4, 2004

So hot ...

Bloody posted:

i have a lookup table mapping 10-bit values to 9-bit values. every possible 10 bit input is accounted for. you would think that, given absolutely arbitrary 10-bit input, it would be utterly impossible to get a 9-bit output that does not exist in the table.

and yet...

:suicide:

in fact, it is such a frequent occurrence i can reliably trigger a scope on it.

why are there 9bit values that aren't in the table tho

JawnV6
Jul 4, 2004

So hot ...
let it take 2 cycles to look up and see if it still happens

JawnV6
Jul 4, 2004

So hot ...

Bloody posted:

the baffling output is a completely invalid control character that the block's spitting out pretty reliably.

is the bit wrong or the character

is the bit calculated in any way separately from the rest

does the byte predictably match any nearby byte in the stream

JawnV6
Jul 4, 2004

So hot ...
but you stored the old traces right?

don't worry, it'll reproduce when you pull the shades up in the afternoon

JawnV6
Jul 4, 2004

So hot ...
he mentioned it, it's 8b/10b like in older gen PCIe. the 10b encodings are chosen to maintain DC balance on the line, the 9th bit is really just "it's not data, it's a COM/STP/SDP byte or other framing info" so there are a lot of values from 256-512 that you wouldn't ever expect to see

JawnV6
Jul 4, 2004

So hot ...
how is arduino forking or panelizing or however you call it when it's open hardware going

JawnV6
Jul 4, 2004

So hot ...
i2c is great but i'll never understand why every device datasheet has timing diagrams explaining the protocol

like give me a register map and call it a day, there's no need to put the exact same timing diagrams on every single datasheet

JawnV6
Jul 4, 2004

So hot ...
you shouldn't be bit banging it anyway "hey HW module on this mcu, talk to address X, write data Z to register Y then read register Q"

if you can't tell if it's a 7/8 bit address by looking at it idgaf

JawnV6
Jul 4, 2004

So hot ...

Bloody posted:

lvds spi

that smiley with the eyeballs

JawnV6
Jul 4, 2004

So hot ...

DuckConference posted:

we're doing our next product with an stm32f4, and since Kiel uvision 4 kind of sucks, it looks like we might go with gcc/eclipse/openocd. it's not a horrible idea is it?
don't expect any support. they were pretty clear with us that keil & IAR get first priority, if you're some open source scum they might bother with an internal search for you but any genuine effort is expecting way too much

movax posted:

vivado / xilinx still doesn't understand the concept of people wanting to version control stuff though.

why the gently caress do i have to hand-write my own tcl scripts to run the entire build flow because you fucks are unwilling to jump into the 21st century and embrace source control :mad:
i've been using source control outside my IDE for a while now. the IDE's up on one screen and the terminal's on the other, is even that unsupported or do you want some hint of modernness like "commit hooks" or w/e?

JawnV6
Jul 4, 2004

So hot ...

movax posted:

so in a vivado zynq design, you can do a block design to easily stitch together axi peripherals and stuff

this is fine, and i would expect that i should be version control the two text files that control and spawn the auto-generation of hdl from them

but no, oh loving now. every. goddamned. time. you build, it happily increments a number and renames the core. so, *_design_auto_pc_1 eventually becomes *_design_auto_pc_161 and it's a bunch of utterly loving useless commits. they're a bunch of cocksuckers, unless it's been secretly fixed in the background

i'm this close to just cribbing off what adi did for their hdl libraries

lmao oic

c# does some of that with autogenerated files from the GUI designer, but i haven't had to merge too many of those

just do pure verilog imho

JawnV6
Jul 4, 2004

So hot ...
i thought TI's CCS eclipse skin was perfectly serviceable. even atmel's VS skin is decent enough

just drives me crazy when the Cube won't spit out a gcc-compatible BSP, or atmel's eval kit demo programs are written to IAR instead of their own tooling

seems time to mention i'm also looking for my next job, so if y'all need a verilogger or firmware dev hit me up

JawnV6
Jul 4, 2004

So hot ...

Bloody posted:

we're definitely hiring your type, where do you live and/or are you interested in relocating to boston area
i live in sf and/or "no"

Fanged Lawn Wormy posted:

i'm getting interested in taking the arduino training wheels off and using big boy developer tools for embedded systems
you probably want to jump to AVR like people are saying. it's totally possible to slowly wean yourself off of the arduino hooks and make the switch to pure C gradually.

that said, light blue bean is easier than arduino (literally program from your iPhone), then arduino, then these folks are a step up

i'm inclined to second guess the supposition that your work isn't limited by arduino. it might be the case, or you might be solving problems inefficiently because of your limited tool set? a lot of embedded work is power saving, if you're always plugged into the wall it might be interesting to try to break that dependency, learn how to write to the flash segments and use a USB power brick to walk around with it

JawnV6
Jul 4, 2004

So hot ...
never understood the fixation some people have on linker scripts and make files. you've got C and asm, and a bunch of knobs to fix the translation between them. becoming an expert knob maker doesn't help the final product as much as a half dozen easier things

JawnV6
Jul 4, 2004

So hot ...
yeah im pretty good once it's in assembly or talking about memory, i guess that's my blind spot here

still kills me to see college programs teaching makefiles before hello world, but w/e

JawnV6
Jul 4, 2004

So hot ...

Mr Dog posted:

Open the binary ROM image in a hex editor and gaze upon your work. Every byte of it is yours.
except for the ones GCC emitted for you. "no, no, MY arbitrary point on this continuum is SO MUCH BETTER and LESS MAGICAL and ROBUST and ARCHITECTED"

why aren't we pushing people to make their own flex/bison files for their C dialect? why not their own parser generator? what makes chucking more files at GCC some magical point that's Totally Real where an IDE isn't

Mr Dog posted:

Then learn the joys of gdb remote debugging and double and triple-checking your clock setup and GPIO port configuration code when you run the poo poo and the GPIO didn't start blinking like it was supposed to :suicide:
just use the friggin GUI with big red breakpoint buttons and arbitrary register/value tools. it drives me crazy to see people chase this fantasy that's Yet Another Abstraction then whine about all the problems they invited to their lap after pretending IDE's aren't "real"

JawnV6
Jul 4, 2004

So hot ...

hobbesmaster posted:

sadly i'm now curious to see whether that would actually work
there's one of the cray bringup stories where the guy keyed in the boot code from memory

Mido posted:

the ARM tools for eclipse have makefile generators that you can specify architectures for and overall it Just Works, even better if your mfg of choice has their own eclipsey plugins that will do their own linker script generation and generate boilerplate driver stuff for your SoC like interacting with the DMA engine or generating startup code for things like clocking changes you can wrap in a state machine
no, no, no, suffering Must Be Better. any Tool is an Abomination and must be abhorred. for any given protocol if you don't write a bit-banging version first you can't possibly understand how to use a HW module that does it for you

really thought i spent 8 years in the silicon mines and ive got a pretty good grasp on what HW's doing

JawnV6
Jul 4, 2004

So hot ...
i wanna put iHDL and protocyte on my resume to see if anyone can come up with a whiteboard problem across two dead languages

JawnV6
Jul 4, 2004

So hot ...

hobbesmaster posted:

interview question: "if you were to interview a candidate with two dead languages on their resume what would you ask them?"

those two? "why was domino logic natively supported?" and "why was the threading model for checkers utterly broken?"

JawnV6
Jul 4, 2004

So hot ...

eschaton posted:

I wonder if, 10 years from now, the FPGA environments will all be local web garbage running in an app shell and written with node.js

it seems like the sort of tech backwardness the vendors would embrace, especially after the rest of the industry has moved on

cadence is offering something like that

upload your verilog & test bench, they'll run it for you and you can check results on a dashboard

on the one hand i'd absolutely love to chuck a random SW instance onto a new HW design and just hear back if it was a pass/fail, over here in reality i know it'd devolve into trying to debug some goofy bullshit at arm's length

BobHoward posted:

how do you feel about mountain view and/or satan clara
not violently opposed, i'll hit you up if/when i start looking for a new job

JawnV6
Jul 4, 2004

So hot ...
ok, starting to dig into fabscalar, which generates parameterized superscalar cores

i have an atlys2 board, had to download the old ISE to compile for it. i have dummy projects compiling, starting to feed the fabscalar stuff into it. the fpga shims aren't released yet, so my first shot at compiling it took an hour for it to figure out every bit was unnecessary and produce a .bit file with zero gates

so i need that shim. before that, i ought to be able to simulate the thing. i don't have ncvlog that it's assuming, so i grabbed icarus verilog thinking it would do just fine in simulation. it's failing on a concatenation where they do an inline addition in the decoder:
code:
          instDest_1      = {(instruction[`SIZE_RT+`SIZE_RD+`SIZE_RU-1:`SIZE_RD+`SIZE_RU]+1),1'b1};
looks specific to macrofusion, adjusting where things go. i'm pretty sure they just want to drop the extra bit from the add and other tools are just throwing a warning and moving on, but icarus is complaining about "ambiguous width" and i've been banging against it long enough to not care enough about writing the explicit lines out to strip the bits

JawnV6
Jul 4, 2004

So hot ...
lol trick question everything is poo poo

i actually did the tmp var to shave off a bit that night. a couple hours later after getting the verilog built (there were some other minor issues with it being over-pedantic) I wasn't able to get the VPI stuff compiled or linked or whatever you'd call that. tried importing the g++ built lib, tried compiling from source with the icarus VPI compiler, nothing really clicked

it wouldn't be too bad starting a new design, but i'm taking a legacy code base without support and i haven't been able to recreate the simulation they did with ncvlog. I'm assuming ncvlog is the kind of tool every uni has an install kicking around so there's no need for icarus support from this particular team

JawnV6
Jul 4, 2004

So hot ...
i've got the fabscalar simulator 1 file away from working. the specific failure is:
../../libss-vpi/lib.src/misc.cc:84:3: error: C-style cast from 'char **' to 'va_list' (aka '__builtin_va_list') is not allowed

so a dodgy cast in the command line parsing section of the C code being compiled to be called from the simulated HDL is why i can't get this thing built

does haskell lend itself to pipelining?

JawnV6
Jul 4, 2004

So hot ...

Mido posted:

edit: yes $60/hr is really really low

:dogstare:

srsly, 3x that

i've got this thing compiled, built, linked, w/e, it's up and running and failing trying to load the checkpoint data. it smells like a size/alingnment/endianness thing, have to comb through the symbols & changes to see what I broke

JawnV6
Jul 4, 2004

So hot ...
lol

"bettery holder"

JawnV6
Jul 4, 2004

So hot ...

Mido posted:

that's cool depending on the characteristics of the data channels and what the data is

no

you've got enough horsepower to manage a BTLE stack, that sets a lower bound on the peripheral compute capability. now you've got a 20b/s (spec is 35KB/s thru, but that's in an EMI chamber with full control of when packets/notifications are sunk) channel out to something a few orders of magnitude better, and from there if latency is not important you're punting to essentially infinite resources in the cloud

stopping at the phone is almost never going to be the right answer

JawnV6
Jul 4, 2004

So hot ...
async clock crossing is sweet, one of those concepts that took 1.5 passes for me to understand

gray codes, bubble gaps, its all p. neat

JawnV6
Jul 4, 2004

So hot ...
it's not that hard if you don't care about determinism, there's a head/tail pointer encoded w/ gray code so it doesn't matter if a signal from one domain doesn't settle by the time the other samples it

you end up with bubbles and one of the interfaces probably has to be capable of backpressure

omg flow control credits negotiated during link training

JawnV6
Jul 4, 2004

So hot ...

Bloody posted:

current best candidate seems to be slapping either a lovely standalone radio like one of the nordic chips with a micro that does everything else or one of these bluetooth soc chips with a lovely standalone dac but neither option is appealing

what's the use case? do you want something like a rn52?

JawnV6
Jul 4, 2004

So hot ...
variac?

JawnV6
Jul 4, 2004

So hot ...
do you need a little structure around $display calls or do you have the flexibility to pull in something like OVM

Adbot
ADBOT LOVES YOU

JawnV6
Jul 4, 2004

So hot ...
http://electronics.stackexchange.com/questions/71223/is-there-a-way-of-conditionally-triggering-a-compile-time-error-in-verilog

like that?

  • Locked thread