kristianpaul has quit [Read error: Connection reset by peer]
kristianpaul has joined ##openfpga
Degi has quit [Ping timeout: 240 seconds]
Degi has joined ##openfpga
OmniMancer has joined ##openfpga
noknok has quit [Remote host closed the connection]
noknok has joined ##openfpga
noknok has quit [Ping timeout: 256 seconds]
gm2 has quit []
_whitelogger has joined ##openfpga
Bike has quit [Quit: Lost terminal]
X-Scale has quit [Ping timeout: 246 seconds]
X-Scale has joined ##openfpga
emeb_mac has quit [Quit: Leaving.]
_whitelogger has joined ##openfpga
<clever> have there been any advances in icestorm, to support chips like `Spartan 6 XC6SLX9` ?
oeuf has quit [Ping timeout: 246 seconds]
<tnt> icestorm like the name implies is for ice40 only.
<clever> ah, so id need to different netlist->bitstream tool for spartan?
<tnt> I'm not aware of any equivalent for Spartan 6 that's usable.
m4gul0_ has quit [Ping timeout: 240 seconds]
bubble_buster has quit [Ping timeout: 260 seconds]
sorear has quit [Ping timeout: 272 seconds]
vsidou has quit [Ping timeout: 272 seconds]
ktemkin has quit [Ping timeout: 272 seconds]
kc8apf has quit [Ping timeout: 272 seconds]
edmoore has quit [Ping timeout: 240 seconds]
carlomaragno has quit [Ping timeout: 240 seconds]
pointfree has quit [Ping timeout: 268 seconds]
nickjohnson has quit [Ping timeout: 268 seconds]
daveshah has quit [Ping timeout: 246 seconds]
flammit has quit [Ping timeout: 260 seconds]
emilazy has quit [Ping timeout: 260 seconds]
mithro has quit [Ping timeout: 260 seconds]
adamse has quit [Ping timeout: 260 seconds]
yuriks has quit [Ping timeout: 272 seconds]
esden has quit [Ping timeout: 240 seconds]
elms has quit [Ping timeout: 240 seconds]
ormiret has quit [Ping timeout: 240 seconds]
eddyb[legacy] has quit [Ping timeout: 240 seconds]
benreynwar has quit [Ping timeout: 244 seconds]
guan has quit [Ping timeout: 260 seconds]
diamondman has quit [Ping timeout: 260 seconds]
JSharp has quit [Ping timeout: 260 seconds]
wbraun has quit [Ping timeout: 260 seconds]
digshadow has quit [Ping timeout: 246 seconds]
cblam has quit [Ping timeout: 272 seconds]
rohitksingh has quit [Ping timeout: 268 seconds]
tannewt has quit [Ping timeout: 264 seconds]
ovf has quit [Ping timeout: 264 seconds]
christiaanb has quit [Ping timeout: 246 seconds]
jeandet has quit [Ping timeout: 240 seconds]
litghost has quit [Ping timeout: 240 seconds]
_florent_ has quit [Ping timeout: 272 seconds]
indy___ has quit [Ping timeout: 260 seconds]
guan has joined ##openfpga
wbraun has joined ##openfpga
ormiret has joined ##openfpga
ktemkin has joined ##openfpga
kc8apf has joined ##openfpga
elms has joined ##openfpga
indy___ has joined ##openfpga
nickjohnson has joined ##openfpga
jeandet has joined ##openfpga
diamondman has joined ##openfpga
flammit has joined ##openfpga
sorear has joined ##openfpga
yuriks has joined ##openfpga
bubble_buster has joined ##openfpga
daveshah has joined ##openfpga
rohitksingh has joined ##openfpga
esden has joined ##openfpga
JSharp has joined ##openfpga
ovf has joined ##openfpga
tannewt has joined ##openfpga
litghost has joined ##openfpga
christiaanb has joined ##openfpga
emilazy has joined ##openfpga
digshadow has joined ##openfpga
benreynwar has joined ##openfpga
adamse has joined ##openfpga
pointfree has joined ##openfpga
eddyb[legacy] has joined ##openfpga
vsidou has joined ##openfpga
mithro has joined ##openfpga
m4gul0_ has joined ##openfpga
_florent_ has joined ##openfpga
carlomaragno has joined ##openfpga
edmoore has joined ##openfpga
cblam has joined ##openfpga
JSharp has quit [Ping timeout: 264 seconds]
JSharp has joined ##openfpga
ym has joined ##openfpga
adamse has quit [Ping timeout: 260 seconds]
noknok has joined ##openfpga
<clever> what kind of clock quality does a PLL typically need as an input? is it common to do something like take the hdmi pixel clock, and shove it into a 10x PLL on an fpga?
<clever> and then the entire input stage (differential decoding and such) operates in a clock domain managed by the hdmi src?
adamse has joined ##openfpga
Asu has joined ##openfpga
<tnt> yes
<clever> and i'm guessing you would then want some kind of cross-domain fifo, to shift that data into a more stable domain, and some unregistered status, to signal when the pll has lost the lock?
<tnt> Depends what you're doing with the data really ...
<clever> are you faimilar with the low-level encoding of hdmi?
<tnt> I know it exists, I know it's 8b10b but not hte ibm one, they came up with their own tmds thing ... I don't know the math by heart though ...
<clever> basically, each of the 3 data lanes is ran thru that weird 8b10b encoding, with 256 valid 10bit patterns
<clever> but during the blanking period, 4 special 10bit patterns are used (not part of the main 256)
<clever> so during the active area, you get 24 bits per pixel (3 lanes), but during the blanking period, you get 6 bits per pixel
<clever> the main 256 symbols use some funky math i dont understand, to keep the number of transitions low, for RF/emi reasons
<clever> but the 4 special symbols where selected to intentionally have a high numebr of transitions, so you can calibrate the inter-lane delays
<clever> then you just use the phase taps on the 10x PLL, to delay when you sample bits for each lane
<tnt> yeah, makes sense.
<clever> one example project i'm thinking of, is to make a custom hdmi rx block, that can record things at a lower level then normal
<clever> so i can diagnose a mix-configured hdmi tx block
<clever> mis-configured*
<clever> the 6 bits/pixel during the blanking period, encodes the hsync/vsync signals, along with some misc stuff like audio and some weird metadata almost nobody uses
<clever> i believe hdmi has a min pixel-clock of 25mhz, but the final clock depends on the refresh rate and image dimensions, so it can vary a lot
<tnt> yes
<clever> main thing i worry about with the above plan, is that my fpga board only has 0.1" headers
<clever> so id be routing high speed differential signals thru some non-matched 0.1" pins
<clever> but i can skip the loose jumper wires though, so it wont be that bad
<clever> as a really basic debug tool, i could just capture the raw 10bit symbols into block ram, and then dump it to the pc, like a basic logic analyzer
<clever> from reviewing the spartan6 datasheet, it looks like the blockram is all dual-port, so i could easily have one domain driven by the pixelclock*10 feeding data in, then a second domain tied to the uart, reading it out
<clever> then i just need to manage the mismatch in data-rates, and turn the sampling on/off
<tnt> jfyi, usually you'd do pixelclock*5 and use DDR IO.
<clever> ah, i can see how that would work equally well, and then it outputs 2 bits per clock?
<clever> then i just need a shift register that can shift by 2 per clock, to build up a 10bit symbol?
<tnt> yes
<clever> the rest of the logic would then be operating on a 10bit bus, would i clock that from the original pixelclock, or (pixelclock*5)/5 ?
<clever> i think (pixelclock*5)/5 makes more sense, since it will be aligned to one of the edges of the pixelclock*5 data
<clever> there must be some latency in the *5 pll?
Bike has joined ##openfpga
OmniMancer has quit [Read error: Connection reset by peer]
OmniMancer has joined ##openfpga
_whitelogger has joined ##openfpga
oeuf has joined ##openfpga
<cyrozap> Here's kind of a random question: Does anyone here know of a memory-mapped UART peripheral that has its RX register at offset 0, TX at offset 1, RX status at offset 5, and TX status at offset 6? It's not an 8250/16550, since that combines the TX and RX registers into a single register and it does the same with the TX and RX statuses.
<cyrozap> The context is that I'm trying to reverse engineer the memory-mapped UART of an 8051-based chip.
<tnt> no, but I can make one real quick :)
<clever> tnt: that gives me a weird idea, a kind of verilog compare util, where i write an implementation of X, and then have the util search for other implementations of a similar device
OmniMancer has quit [Quit: Leaving.]
<cyrozap> clever: That sounds similar to the kind of function signature matching that Ghidra and IDA can do.
<clever> cyrozap: ive not seen that in ghidra yet, but it sounds very useful
<clever> ive been having to manually compare functions
<clever> cyrozap: where is it hidden in the ghidra ui?
<cyrozap> clever: In the code browser, click File->Configure then click the checkbox next to "Function ID". This will cause a "Function ID" submenu to appear under the "Tools" menu.
<cyrozap> Why this is disabled by default, I have no idea.
<cyrozap> But I found out how to enable it by searching for "function ID" in Ghidra's built-in manual.
<clever> cyrozap: another crazy thing, i ran out of disk space one day, and EVERY SINGLE thing in file->configure turned itself off
<clever> it didnt even look like the same program after that
Thorn has joined ##openfpga
<clever> i also dont have functionid, just callgraph/comparison/tag/signature, function signature decompiler hover plugin??
<clever> cyrozap: i'm on the tip of this pr: https://github.com/NationalSecurityAgency/ghidra/pull/1147, so i'm a little fuzzy on which version i have
X-Scale` has joined ##openfpga
X-Scale has quit [Ping timeout: 256 seconds]
X-Scale` is now known as X-Scale
<cyrozap> clever: I'm on the master branch with some PRs merged. But I think the Function ID stuff has been around for a while.
<clever> *doh*
<clever> it was file->configure, not file->configure->configure
<cyrozap> lol yeah, sorry for the the confusion.
<clever> na, your directions where perfect
<clever> i went off the trail because i knew of that ui from past problems
noknok has quit [Ping timeout: 246 seconds]
<clever> ok, found a memset, that should be a good target
emeb has joined ##openfpga
<clever> cyrozap: how do i use it?
* clever reads "function id" in internal help...
lexano has quit [Ping timeout: 256 seconds]
<clever> cyrozap: ahhh, this is likely why it wants to know if it was gcc or visual-studio, at import time
<clever> to pick the right functionid db for labeling things
noknok has joined ##openfpga
<clever> cyrozap: cant seem to get it to re-match against already analyzed files though...
lexano has joined ##openfpga
<clever> ah, i can analysis->oneshot->functionid
<clever> cyrozap: that just leaves my unfinished RE'ing, large chunks of functions just say "vl805" now, because i havent found what they do yet
<clever> cyrozap: ooooo, i have an old .elf they forgot to strip, a goldmine to populate functionid!
<clever> cyrozap: ive also got an anoying issue, the .text on this platform, has string constants after the opcodes for each function, so i cant just blanked decode all of .text as opcodes, and ghidra is leaving a lot un-decoded, know of any tricks there?
azonenberg has quit [Ping timeout: 260 seconds]
emeb_mac has joined ##openfpga
ym has quit [Quit: Leaving]
lexano has quit [Ping timeout: 260 seconds]
lexano has joined ##openfpga
kristianpaul has quit [Read error: Connection reset by peer]
kristianpaul has joined ##openfpga
lexano has quit [Ping timeout: 256 seconds]
lexano has joined ##openfpga
FriSp has joined ##openfpga
lexano has quit [Ping timeout: 256 seconds]
<cyrozap> > large chunks of functions just say "vl805" now
lexano has joined ##openfpga
<cyrozap> clever: Ooh, are you also reverse engineering some xHCI controller firmware? I'm working on ASMedia chips: https://github.com/cyrozap/asmedia-xhc-re
<cyrozap> And I thought the GCC vs. Visual Studio thing was for calling conventions/ABIs, but maybe it is for function IDs.
<cyrozap> No idea what to do for the un-decoded stuff--maybe the CPU definition needs to be updated to add more matchers for function prologues?
azonenberg has joined ##openfpga
lexano has quit [Ping timeout: 256 seconds]
knielsen has quit [Ping timeout: 260 seconds]
knielsen has joined ##openfpga
lexano has joined ##openfpga
noknok has quit [Remote host closed the connection]
noknok has joined ##openfpga
noknok has quit [Ping timeout: 260 seconds]
Asu has quit [Ping timeout: 256 seconds]