clifford changed the topic of #yosys to: Yosys Open SYnthesis Suite: http://www.clifford.at/yosys/ -- Channel Logs: https://irclog.whitequark.org/yosys
pie_ has quit [Ping timeout: 240 seconds]
pie_ has joined #yosys
sklv has quit [Quit: quit]
promach__ has joined #yosys
promach__ has quit [Quit: Leaving]
pie_ has quit [Ping timeout: 265 seconds]
<promach> For sequence checking, is there any other specifiers that do beyond what $past could do ? for example, checking the past 'N" events ?
<awygle> promach: in system verilog $past can take an argument which says how many clocks back to check. I don't know if Yosys supports it, I'd recommend you try it and find out
<promach> awygle: you mean $past(variable, N) ?
<awygle> Yes
<ZipCPU> awygle: Yosys formal supports it
<promach> what about event sequence check ?
<promach> event A happens BEFORE event B ?
<promach> that is not how $past() is designed for, I suppose ?
<promach> There must be some other specifiers that can do this check
<ZipCPU> promach: reg A; initial A=0; always @(posedge i_clk) A <= (A) || (event A); assign (A_before_B) = (event_B)&&(A);
<ZipCPU> What's the problem?
<promach> you have "reg A" and "event A" ?
<promach> is event_A a reg type as well ?
<promach> ZipCPU
<ZipCPU> event_A is just an expression describing whatever event you were looking for.
<ZipCPU> It may or may not be an expression.
<ZipCPU> I mean ...
<ZipCPU> It may or may not be an register.
<promach> A <= (A) || (event_A); --> this does not look alrght to me at first sight
<ZipCPU> Why not?
<ZipCPU> You want to know if (event_A) has taken place in the past. A holds that information. If event A has taken place, it needs to be sticky (unless you want to reset it later ...).
<ZipCPU> Hence (A) (meaning A has already taken place) || (a logical OR) (event_A) (meaning that event A is currently taking place now).
dys has quit [Ping timeout: 265 seconds]
dys has joined #yosys
dys has quit [Ping timeout: 248 seconds]
<promach> does the hamster's tinytx code use formal verification tool ?
<promach> ZipCPU
<ZipCPU> You tell me.
<ZipCPU> You're the one who has been digging into it.
<ZipCPU> yosys uncovered a bug in VHDL? You mean ... you are using the proprietary extension to yosys?
<promach> no
<promach> give me a moment
<promach> let me change the question perspective
<promach> For UART in ASIC, how would you handle the initial reset circuitry since the receiver has no prior knowledge about the transmission control signals within the transmitter ?
<ZipCPU> Why are you asking about ASICs?
<promach> because of the initial reset which is available in FPGA
<promach> initial global reset circuitry
<ZipCPU> Sure, so ... why are you asking about ASICs?
<promach> that is to learn how UART is implemented as hardcore
<ZipCPU> Who's asking you to ask?
<promach> huh ?
<ZipCPU> Judging by all you've told me ... you don't have the cash to afford doing ASIC work. So .... who are you asking on behalf of?
<promach> no, it is all for my learning purpose
<ZipCPU> Then learn how to build one on an FPGA first.
<promach> ASIC work is interesting, I would love to dig more into it
<promach> sure
<ZipCPU> ASIC works is *EXPENSIVE*. If you don't have a couple million $USD in your pocket, then you have no reason being interested.
<ZipCPU> That said, a UART receiver should naturally reset after one character (or so) of the line being high.
<promach> so, UART receiver ignores whatever being received in the initial 1 character time ?
<ZipCPU> Maybe, maybe not. Did I say just one character? After a couple idle characters, it's all set to go.
<promach> that is one possible solution :)
<ZipCPU> Well ... try building another solution and tell us how it works then.
gnufan has joined #yosys
eduardo_ has joined #yosys
eduardo__ has quit [Ping timeout: 248 seconds]
pie_ has joined #yosys
ravenexp has quit [Ping timeout: 248 seconds]
gnufan has quit [Ping timeout: 256 seconds]
pie_ has quit [Remote host closed the connection]
_whitelogger has joined #yosys
pie_ has joined #yosys
sklv has joined #yosys
m_t has joined #yosys
gnufan has joined #yosys
dys has joined #yosys
proteusguy has joined #yosys
proteusguy has quit [Remote host closed the connection]
proteusguy has joined #yosys
m_t has quit [Quit: Leaving]
X-Scale has quit [Read error: Connection reset by peer]
AlexDaniel is now known as AlexaDaniel
AlexaDaniel is now known as AlexDaniel
m_t has joined #yosys
sklv has quit [Remote host closed the connection]
sklv has joined #yosys
ZipCPU|Laptop has joined #yosys
dys has quit [Ping timeout: 240 seconds]
rqou has quit [Remote host closed the connection]
philtor has joined #yosys
rqou has joined #yosys
dys has joined #yosys
m_t has quit [Quit: Leaving]
gnufan has quit [Quit: Leaving.]
ZipCPU|Laptop has quit [Ping timeout: 240 seconds]
AlexDani` has joined #yosys
AlexDaniel has quit [Ping timeout: 256 seconds]
pie_ has quit [Ping timeout: 256 seconds]
ZipCPU|Laptop has joined #yosys
pie_ has joined #yosys
ZipCPU|Laptop has quit [Ping timeout: 265 seconds]