PSS
16 posts
Relating Hardware Model Abstractions
The most difficult transition in hardware modeling is the transition from natural-language to executable specification. It is during this transition that the ambiguities inherent in natural-language descriptions are resolved. Maximizing value from a multi-abst…
Zuspec: Pythonic Model-Driven Hardware Development
Designing and implementing hardware is challenging, and is getting more difficult each year as systems become more complex. Design and verification teams are looking to boost productivity as a way to keep pace, while also looking for ways to provide models …
PSS: Getting Outside the Box
In the [last post](https://bitsbytesgates.com/pss/2025/02/04/TranspilationandPSS.html), we showed a SystemVerilog implementation of a PSS model that printed "Hello World!". Interesting, perhaps, but quite a ways from being useful. In order to be useful, our …
Transpilation and PSS
You're probably familiar with compilers. They take a high-level input description -- typically a programming language -- and distill it down to an efficient low-level implementation. Typically the implementation is machine code or bytecode. In other words, …
What's Next for PSS?
As the year winds down, it's a good time to think about the coming year and the areas where I'd like to have an impact. One area of particular interest this year is the Portable Test and Stimulus (PSS) standard. The Accellera PSS working group released the 3.…
Of Register Models and Standards
Memory-mapped registers play an integral part in configuring and driving the operation of the vast majority of digital designs today. As a consequence, it's not surprising that each language and methodology involved in the design, verification, and documenta…
Relating Actions with Dataflow Part2 -- Parallelism
A few posts back ([Relating Actions with Dataflow](/blog/relating-actions-with-dataflow/)), we talked about using buffer objects to form a relationship between actions that execute sequentially. Because the actions execute sequentially, this relationship lo…
Interacting with Devices via PSS Registers
We've been looking at properly modeling the types of behaviors that we want to exercise on our DMA IP for the last few posts. Of course, until we can actually start programming the DMA registers, all of our modeling won't actually do anything. PSS provides t…
PSS Concurrency and Resources
Resource contention is a challenge that arises any time concurrency and shared resources (data, hardware accelerators, etc) are involved. It's one of the big challenges, and source of bugs, in implementing code that takes advantage of parallelism. When it co…
PSS Memory Management Fundamentals
Storage (memory) is right in the middle of all the work with do with computer architecture. We have different kinds of memory that each have different trade-offs around performance (latency / throughput), cost per unit, and power consumption. We arrange memori…
Modeling DMA Test Scenarios with PSS
If you've been following the blog for any length of time, you've likely noticed that I like to work with examples and applications when it comes to learning and understanding technology. I certainly like the tendency of applications to take knowledge out of t…
Relating Actions with Dataflow
Modularity and reuse are key concerns when it comes to programming languages. While languages without many modularity and reuse features may be quick and easy to write -- think shell scripts -- they ultimately fail to scale. PSS provides a wealth of mechanism…
Declarative Programming and Multi-Core Tests
As humans, we often pride ourselves on our ability to multi-task. Not only can we participate in a meeting, we can we simultaneously prepare the slides for the next meeting. Sadly, science has some bad news about our perception to multitask vs our actual ab…
PSS Fundamentals: Actions, Components, and Test Generation
Complex engineering endeavors require complex calculations. It's open to debate as to when the first engineering project that required complex calculations occurred. What we do know is that those calculations would have been done by hand. And this state la…
Automating Bare-Metal Tests with PSS
As a technologist, it's tempting to focus on what is new (at least, new to me) -- especially when choosing what to write about. I'm periodically reminded that there is immense value in returning to topics. Returning to a topic might raise awareness with a dif…
New Year, New Space
We've more than gotten started on the new year. In fact, DVCon -- reliably and predictably held during the last few days of February and initial few of March is right around the corner. And, here I am just getting the first post of the year out. Getting a la…