İçindekiler:

DIY Dinamik Bellek Bloğu: 5 Adım
DIY Dinamik Bellek Bloğu: 5 Adım

Video: DIY Dinamik Bellek Bloğu: 5 Adım

Video: DIY Dinamik Bellek Bloğu: 5 Adım
Video: BU DAHİ! Telefon şarj cihazından yaptıklarım! 2024, Temmuz
Anonim
DIY Dinamik Bellek Bloğu
DIY Dinamik Bellek Bloğu

SLG46880 ve SLG46881, öncekiGreenPAK cihazlarında görünmeyen birkaç yeni blok sunar. Bu uygulama notu, Dinamik Bellek (DM) bloklarını ve bunların nasıl kullanılacağını açıklar.

DM bloklarının ana avantajı, SLG46880/1'in 12 durumlu Asenkron Durum Makinesinin (ASM) farklı durumlarında farklı işlevleri gerçekleştirmek üzere yeniden yapılandırılabilmeleridir. Durum 0'da bir şekilde ve Durum 1'de başka bir şekilde kullanılabildikleri için bu onları çok esnek bir bileşen yapar.

GreenPAK yongasının Dinamik Bellek Bloğu oluşturmak için nasıl programlandığını anlamak için gereken adımları aşağıda açıkladık. Ancak, sadece programlamanın sonucunu almak istiyorsanız, halihazırda tamamlanmış GreenPAK Tasarım Dosyasını görüntülemek için GreenPAK yazılımını indirin. GreenPAK Geliştirme Kitini bilgisayarınıza takın ve Dinamik Bellek için özel IC'yi oluşturmak için programa basın.

Adım 1: DM Blok Temelleri

DM Blok Temelleri
DM Blok Temelleri
DM Blok Temelleri
DM Blok Temelleri

Dialog GreenPAK SLG46880/1'de 4 DM bloğu vardır. Şekil 1'de yapılandırılmamış bir DM bloğu gösterilmektedir.

SLG46880/1'deki tüm DM blokları aşağıdaki kaynaklara sahiptir:

● 2 arama tablosu: 3 bit LUT ve 2 bit LUT

● 2 çoklayıcı

● 1 CNT/GÜNYE

● 1 Çıkış bloğu

Şekil 2, renkli konektörlere sahip aynı DM bloğunu göstermektedir. (Bu renklerGreenPAK™ Designer'ın içinde görünmez, yalnızca açıklama amaçlıdır.) Yeşil konektörler, Matrix'ten DM bloğuna girişlerdir. Turuncu bağlantılar, DM bloğu içinde değiştirilemeyen veya taşınamayan özel bağlantılardır. Mavi konektörler, sayaç bloğu için saat bağlantılarıdır. Mor bağlayıcı bir durum geçişini tetiklemek için kullanılabilir, ancak genel bir matris bağlantısı değildir. Sarı konektörler, DM bloğundan gelen matris çıktılarıdır.

Adım 2: Yeni DM Blok Yapılandırmaları Oluşturma

Yeni DM Blok Yapılandırmaları Oluşturma
Yeni DM Blok Yapılandırmaları Oluşturma
Yeni DM Blok Yapılandırmaları Oluşturma
Yeni DM Blok Yapılandırmaları Oluşturma

Yeni bir DM blok yapılandırması oluşturmak için, bir DM bloğu seçmeniz ve Şekil 3'te gösterilen özellikler panelini açmanız gerekir. Şimdi sağ üstteki “+” simgesine tıklayarak bu DM bloğu için yeni bir yapılandırma oluşturabilirsiniz.. Bu noktada, dilerseniz konfigürasyonu yeniden adlandırabilir ve DM bloğunu özellikler panelini kullanarak istediğiniz gibi yapılandırabilirsiniz. Gereksiz bir yapılandırmayı açılır menüden seçip “-“düğmesine tıklayarak silebilirsiniz.

Her DM bloğu 6'ya kadar farklı konfigürasyona sahip olabilir. Herhangi bir DM bloğu konfigürasyonu, ASM'nin 12 durumundan herhangi biri olarak kullanılabilir, ancak durum başına DM bloğu başına sadece bir konfigürasyona izin verilir. Şekil 4, kaynak yöneticisi çubuğunun DM0_0 konfigürasyonlarından birinin kullanıldığını nasıl gösterdiğini gösterir. DM0_0 için konfigürasyon sayısı 0/6'dan 1/6'ya yükseltildi.

3. Adım: Bir Durum Geçişini Tetiklemek için bir DM Bloğu kullanın

Bir Durum Geçişini Tetiklemek için bir DM Bloğu kullanın
Bir Durum Geçişini Tetiklemek için bir DM Bloğu kullanın

Şekil 5, bir durum geçişini tetiklemenin birkaç farklı yolunu göstermektedir. DM0_0 ve DM1_0 için yeni konfigürasyonlar oluşturduk ve bunlara “myConfig” ve “myConfig1” adını verdik. En üstteki DM basitçe 3 bitlik bir AND kapısı olarak kullanılır, çünkü üst çoklayıcı AND kapısının çıktısını içinden geçirir ve 2 bitlik tampon bunu çıkış bloğuna iletir. (2 bit LUT, CNT/DLY bloğu için bir arabellek olarak da yapılandırılabilir.) “ASM konektörü, Durum 0'dan Durum 1'e bir durum geçişini tetiklemek için kullanılır. Benzer şekilde, Pin5'ten bir matris bağlantısı kullanılır. Durum 0'dan Durum 2'ye bir durum geçişini tetiklemek için. Son olarak, DM1_0, her iki mux'ın Pin6'dan gelen sinyalden geçeceği şekilde yapılandırılır. Sayaç her iki kenar gecikmesi 100µs olarak yapılandırılmıştır ve 2 bit LUT bir AND kapısıdır. Tıpkı DM0_0'da olduğu gibi, çıkış bloğu başka bir durum geçişini tetiklemek için kullanılır.

Adım 4: ASM Dışındaki Bloklarla Etkileşim İçin Bir DM Bloğu Kullanma

ASM Dışındaki Bloklarla Etkileşim İçin Bir DM Bloğu Kullanma
ASM Dışındaki Bloklarla Etkileşim İçin Bir DM Bloğu Kullanma
ASM Dışındaki Bloklarla Etkileşim İçin Bir DM Bloğu Kullanma
ASM Dışındaki Bloklarla Etkileşim İçin Bir DM Bloğu Kullanma

Bir önceki bölümde fark etmiş olabileceğiniz gibi, DM0_0'ın çıkış bloğunda 3 "to Matrix" çıkışı bulunurken, DM1_0'ın çıkış bloğunda herhangi bir matris çıkışı yoktur. Bu, DM0_1 ve DM1_1 için de geçerlidir; DM0_1'in 3 matris çıkışı varken DM1_1'in hiçbiri yok. 3 "to matrix" çıkışı, pinler, LUT'ler, DFF'ler vb. gibi diğer matris konektörlerine bağlanabilir. Bu, Şekil 6'da gösterilmektedir.

Bir "to Matrix" pini ile State Machine alanı dışındaki diğer bloklar arasında bir bağlantı yapıldığında, hangi DM konfigürasyonunun kullanıldığına bakılmaksızın her durumda mevcut olacağını unutmayın. Şekil 6'da, üst kısım Durum 0'da bulunan DM0_0'ın myConfig0'ını gösterir. Alt kısım, Durum 1'de bulunan myConfig1'i DM0_0'ı gösterir. Her iki konfigürasyonda da üstteki “Matrix” bağlantısı Pin3'e bağlıyken, orta kısım Pin3'e bağlıdır. biri 2 bit LUT0'a bağlı. Bu "to Matrix" bağlantılarından yalnızca biri herhangi bir zamanda "etkin" olabilir. DM0_0 ve DM0_1'in çıkış bloğu için özellikler paneli menüsünde 4 seçenek vardır: ● Out0/1/2 koru ● Out0'a baypas, out1/2 tut ● Out1'e baypasla, out0/2 tut ● Out2'ye baypas, out1/1 tut Bu ayarlar, her konfigürasyonda üç çıkıştan hangisinin etkin olduğunu belirlemek için kullanılır. İlk seçenek seçilirse, DM bloğunun 2 bitlik LUT'sinin çıkışı, üç "Matrix" çıkışından hiçbirine iletilmez. Bu üç sinyalin değeri bu durumda değişmeden kalacaktır. Ancak, diğer üç seçenekten herhangi biri kullanılırsa, DM bloğunun 2 bitlik LUT'sinin çıkışı sırasıyla out0, out1 veya out2'ye geçirilecek ve diğer iki çıkışın değeri değişmeden tutulacaktır.

Adım 5: Tasarım Örneği

Tasarım Örneği
Tasarım Örneği

Yukarıdaki tasarım örneğinde IN0, IN1 ve IN2 birlikte VEYA'dır. Bu arada, IN3 1 ms geciktirilir ve ardından VEYA geçidinin çıkışı ile AND'lenir. To Matrix bloğu, OUT1 ve OUT2'deki değerler korunurken DM bloğunun çıkışı STATE0'da OUT0'a gönderilecek şekilde yapılandırılır.

Çözüm

Yeniden yapılandırılabilirlikleri sayesinde, Dialog GreenPAK SLG46880/1'deki Dinamik Bellek blokları son derece esnektir ve çeşitli şekillerde kullanılabilir. DM bloklarıyla çalışmaya alıştıktan sonra, farklı ASM durumlarında farklı DM blok konfigürasyonlarını bir araya getirerek daha karmaşık tasarımlar oluşturabileceksiniz.

Önerilen: