Comments (2)
As [https://spinalhdl.github.io/SpinalDoc-RTD/master/SpinalHDL/Structuring/clock_domain.html] says,
When an Area is not needed, it is also possible to apply the clock domain directly. Two syntaxes exist:
class Counters extends Component {
val io = new Bundle {
val enable = in Bool ()
val freeCount, gatedCount, gatedCount2 = out UInt (4 bits)
}
val freeCounter = CounterFreeRun(16)
io.freeCount := freeCounter.value
// In a real design consider using a glitch free single purpose CLKGATE primitive instead
val gatedClk = ClockDomain.current.readClockWire && io.enable
val gated = ClockDomain(gatedClk, ClockDomain.current.readResetWire)
// Here the "gated" clock domain is applied on "gatedCounter" and "gatedCounter2"
val gatedCounter = gated(CounterFreeRun(16))
io.gatedCount := gatedCounter.value
val gatedCounter2 = gated on CounterFreeRun(16)
io.gatedCount2 := gatedCounter2.value
assert(gatedCounter.value === gatedCounter2.value, "gated count mismatch")
}
SpinalHDL’s documentation is detailed
from spinalhdl.
thank you
from spinalhdl.
Related Issues (20)
- Is there any way to add delay at assignment? HOT 5
- Pipeline API `throwWhen(usingReady = true)` doesn't drop transaction when conflicting with prior `halt` HOT 1
- ClockDomain for input/output ports? HOT 10
- question about mem initialization HOT 11
- StreamFragmentWidthAdapter.make missing earlylast argument HOT 2
- How to generate RTL with parameters? HOT 2
- StreamMux with streamed select no correct join HOT 9
- WishboneSlaveFactory - doWrite is never called in pipelined mode HOT 3
- Wishbone BusIf SEL usage HOT 1
- Formal verifiation: SymbiYosys of SpinalTemplateSbt fails with "RG_WIDTH > 1 is not support by async2sync, use clk2fflogic." when using async reset
- Formal verification: Verilog generated when using synchronous resets is not understood by SymbiYosys HOT 10
- Error when create a new ClockDomain in simulation HOT 2
- SystemVerilog Interface Support HOT 2
- NamedType returns null when called outside of a Component HOT 11
- AxiLite4SlaveFactory generates combinatorial paths from inputs to ready outputs HOT 5
- Signal naming oversights HOT 3
- `onSamplings` error when use inside clockdomain
- FiberPlugin addPrePopTask HOT 5
- Plugin deadlock in circular dependency on Handle HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spinalhdl.