Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Usedefcell for clock delay buffers#7

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
rmanohar merged 1 commit intoasyncvlsi:mainfromRylan12:defcell-clkbuf
Dec 29, 2024

Conversation

@Rylan12
Copy link
Contributor

@Rylan12Rylan12 commentedDec 29, 2024
edited
Loading

This PR changes theCLKBUF{1,2,3} standard definitions to usedefcell instead ofdefproc which matches the rest of the cells defined here. Also, my basic understanding tells me that usingdefproc can lead to inconsistent delay timing since it will depend on where and how the place-and-route tool puts each of the buffer components.

I tested this briefly, and it seems to generate a pretty compact transistor layout withsky130l (below is a sampleCLKBUF1 layout I did quickly—it seems to work as expected in IRSim).

CLKBUF1

Obviously, feel free to disregard if this is intentional, I just noticed that it didn't match other cells and figured I'd point it out in case it was a mistake.

@Rylan12
Copy link
ContributorAuthor

It's also worth noting that this is the case forLATCHLO andLATCHHI, too (this was also mentioned briefly in#3).

For the latches, it's less noticeable since their bodies only containdefcell variables, and so there are no non-cell production rules that need to be generated. Although, it does mean that the delay of the latch is affected by the placement of the various internal components.

For the clock buffers, there are no nested cells, so the following production-rule-based cells are created and (assuming I understand correctly) can be placed apart from each other:

  • _0_0cell_0_0g0n1na_01ax0
  • _0_0cell_0_0g0n_0x0
  • _0_0cell_0_0g0n_0x1

Here is an exceprt from acells.act created byprs2cells -Tsky130l:

namespace cell {export defcell g0n1na_01ax0 (bool? in[2]; bool! out){   prs * {   in[0]<10> & in[1]<10> -> out-   ~in[0]<12> & ~in[1]<12> -> out+   }}export defcell g0n_0x0 (bool? in[1]; bool! out){   prs * {   in[0]<5> -> out-   ~in[0]<6> -> out+   }}

@rmanoharrmanohar merged commit47fbd06 intoasyncvlsi:mainDec 29, 2024
@Rylan12Rylan12 deleted the defcell-clkbuf branchDecember 30, 2024 01:14
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

2 participants

@Rylan12@rmanohar

[8]ページ先頭

©2009-2025 Movatter.jp